大佬们, PHP 怎么实现java的PbeWithMd5AndDes加密解密啊
七
2020-07-31 11:43:04
0
0
1241

java代码如下

/**
 * 加密方法
 * @param key 密钥
 * @param plainText 明文
 * @return 密文
 */
public static String encrypt(String key, String plainText){
   String encryptTxt = "";
   try {
      byte[] salt = new byte[8];
      MessageDigest md = MessageDigest.getInstance("MD5");
      md.update(key.getBytes());
      byte[] digest = md.digest();
      for (int i = 0; i < 8; i++) {
         salt[i] = digest[i];
      }
      PBEKeySpec pbeKeySpec = new PBEKeySpec(key.toCharArray());
      SecretKeyFactory keyFactory = SecretKeyFactory
            .getInstance("PBEWithMD5AndDES");
      SecretKey skey = keyFactory.generateSecret(pbeKeySpec);
      PBEParameterSpec paramSpec = new PBEParameterSpec(salt, ITERATIONS);
      Cipher cipher = Cipher.getInstance("PBEWithMD5AndDES");
      cipher.init(Cipher.ENCRYPT_MODE, skey, paramSpec);
      byte[] cipherText = cipher.doFinal(plainText.getBytes());
      String saltString = new String(Base64.encode(salt));
      String ciphertextString = new String(Base64.encode(cipherText));
      return saltString + ciphertextString;
   } catch (Exception e) {
      e.printStackTrace();
   }
   return "";
}

如何对该段java代码加密的数据使用PHP解密

七

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板