検索

ホームページ  >  に質問  >  本文

皆さん、Java の PbeWithMd5AndDes 暗号化と復号化を PHP でどのように実装しますか?

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 "";
}

PHP を使用してこの Java コードで暗号化されたデータを復号化する方法

七1606日前1283

全員に返信(0)返信します

応答なし
  • キャンセル返事