700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > php openssl des ecb php7.2 des-ede3-ecb加密报错:openssl_encrypt():Unknown cipher algorithm 落叶随风博客...

php openssl des ecb php7.2 des-ede3-ecb加密报错:openssl_encrypt():Unknown cipher algorithm 落叶随风博客...

时间:2019-12-04 20:18:10

相关推荐

php openssl des ecb php7.2 des-ede3-ecb加密报错:openssl_encrypt():Unknown cipher algorithm 落叶随风博客...

最近做项目时用到了3des加密算法,由于环境版本是php7.2只能用openssl_encrypt()来加密:/*php版本大于7.23desecb模式加密*/

$res=openssl_encrypt($value,'des-ede3-ecb',$this->key,OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING);

return$res;

问题:

以上加密写法在测试环境正常,确认openssl扩展已打开,但是在上正式环境时报错:openssl_encrypt():Unknown cipher algorithm。

最终解决方法:/*将'des-ede3-ecb'改为'des-ede3'*/

$res=openssl_encrypt($value,'des-ede3',$this->key,OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING);

return$res;

原因分析:(个人分析)正式线环境是linux, php里并不支持 "des-ede3-ecb" 这种模式,所以报错,兼容的方法为:"des-ede3"。

补充:

要实现极强的兼容效果,不太注重速度的情况下建议安装使用phpseclib:composerrequirephpseclib/phpseclib:~2.0

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。