搜尋

首頁  >  問答  >  主體

大佬們, PHP 怎麼實作java的PbeWithMd5AndDes加密解密啊

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解密

#
七1606 天前1284

全部回覆(0)我來回復

無回覆
  • 取消回覆