java 做的aes解密想用php 的openssl_encrypt 函数加密 老是不成功 请大家给个思路

发布于 2022-09-12 04:02:31 字数 776 浏览 19 评论 0

这个是java的解密代码

private static final String IV = "ZZXJoOLvoTJ5u2BF";

private static final String KEY_ALGORITHM = "AES";
public static final String UTF_8 = "UTF-8";
public static final String AES_CBC_PADDING = "AES/CBC/PKCS5Padding";

public static String decrypt(String data, String key) throws Exception {
    return new String(decrypt(Base64.decodeBase64(data), Base64.decodeBase64(key)), "UTF-8");
}

private static byte[] decrypt(byte[] data, byte[] key) throws Exception{
    Key k = new SecretKeySpec(key, KEY_ALGORITHM);
    IvParameterSpec iv = new IvParameterSpec(IV.getBytes());
    Cipher cipher = Cipher.getInstance(AES_CBC_PADDING);
    cipher.init(Cipher.DECRYPT_MODE, k, iv);
    return cipher.doFinal(data);
}

php 该如何加密呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

贪了杯 2022-09-19 04:02:31

问题也许在于你用的 base64 编码,byte[] 转字符串或字符串转 byte[] 时。如果这样,PHP 也要同等用 base64 endcode/decode。PHP 方面注意 OPENSSL_ZERO_PADDING/OPENSSL_RAW_DATA 模式。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文