PHP 使用 openssl 解密 java AES 加密的问题

加密后的数据:

GngBIjZhxao70NLUe5jt5RzDrn9BGVbOfvCz1HA8N/yIv2euCx5TxpUW/3hL3nZrJJFhqIIaSKOVLXXyaaMGC9+mpMXXe1L1RsTjbn7gtlQ37WuQDETEHjH4HZDrS8BspvlFRyuyHFq2Cba4owo49Ju7cfbmwDtfKu2TSKqPI0LaGMKz8S8bcEHmDB8qnS75 

加密前的参数:

   String account = "casl";
   String password = "123456";
   String startTime = "20200510173200";
   String endTime = "20200513173200";
key = 91DB24611B13DF18862ACEB2AE8370E9
iv = D1F07625B8E04A5D

java加密方法代码:

public static String encrypt(String content, String dataPassword)
            throws Exception {
        IvParameterSpec zeroIv = new IvParameterSpec(VIPARA.getBytes());
        SecretKeySpec key = new SecretKeySpec(dataPassword.getBytes(), "AES");
        Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
        cipher.init(Cipher.ENCRYPT_MODE, key, zeroIv);
        byte[] encryptedData = cipher.doFinal(content.getBytes(bm));

        return Base64.encode(encryptedData);
    }

问题:

我现在需要使用php的 openssl 对上面的密文进行解密,现在问题是试过很多方法都是false。

 $str = openssl_decrypt("GngBIjZhxao70NLUe5jt5RzDrn9BGVbOfvCz1HA8N/yIv2euCx5TxpUW/3hL3nZrJJFhqIIaSKOVLXXyaaMGC9+mpMXXe1L1RsTjbn7gtlQ37WuQDETEHjH4HZDrS8BspvlFRyuyHFq2Cba4owo49Ju7cfbmwDtfKu2TSKqPI0LaGMKz8S8bcEHmDB8qnS75", 'AES-128-CBC', "91DB24611B13DF18862ACEB2AE8370E9", OPENSSL_ZERO_PADDING, "D1F07625B8E04A5D");

 dd($str); 
 // 现在打印的str是下面的值;这是解密成了吗?成了的话下一步如何操作?没成的话,怎么解密?
 // b"╬[SELD3?╣\x10Ö\x02▓µ\x06þy³)}0Ͻtù\x1C┬■ÙõJ\x15╣│\x06(,Sp■ß?‗\x02Ûì\x06Ùw┐æ╦]Æ\x19\x11¿VþEF▀:\x16ºT¢\x05ø▀\x1Fmûr©¿¸9Þ\v╩Ó@\x1Côº6x7ôƒ^\x0E0o╝ÒZ╝Ñ£W\x06ıÚÝÜbÿÉsñ\fú▀¡£\x05§0\x02°\x08/4─Jù3¿╝1ê»│ö¤ v\x02\x04¸ÿ, ◀"
talk is cheap,show me the code!
Marrigan
Marrigan
最佳答案

openssl_decrypt($str, 'AES-256-CBC', "91DB24611B13DF18862ACEB2AE8370E9", OPENSSL_RAW_DATA, "D1F07625B8E04A5D");

3年前 评论
讨论数量: 3
Marrigan

openssl_decrypt($str, 'AES-256-CBC', "91DB24611B13DF18862ACEB2AE8370E9", OPENSSL_RAW_DATA, "D1F07625B8E04A5D");

3年前 评论

此问题好像没有解决呀,上面的最佳答案依然返回false

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!