最近在对接 api,给到的文档代码示例用了 mcrypt_encrypt,但我本机环境是 php7.2,因为 mcrypt_encrypt 在 7.1 后被废除了,那么我尝试这样进行替换:
把
mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $privateKey, $json, MCRYPT_MODE_CBC, $iv);
替换成
openssl_encrypt($json, "aes-128-cbc", $privateKey, OPENSSL_RAW_DATA, $iv);
最后得出的加密结果不一致。 google 一番发现是 pkcs5 和 pkcs7 的区别造成的,openssl_encrypt 默认使用了 pkcs7 填充。
因为对加密知识一无所知,到了这里无法下手了,请高手解疑: 如何才能顺利获得一致的加密结果,并且解密的时候需要注意什么?
(不太会排版,逃)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.