찾다

 >  Q&A  >  본문

여러분, PHP에서 Java의 PbeWithMd5AndDes 암호화 및 암호 해독을 어떻게 구현합니까?

자바 코드는 다음과 같습니다

/**
 * 加密方法
 * @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 "";
}

이 자바 코드로 암호화된 데이터를 PHP를 사용하여 해독하는 방법

七1579일 전1254

모든 응답(0)나는 대답할 것이다

답장 없음
  • 취소회신하다