但是既然他们能替换成一样的,自然在我的项目中也能找到解决方案。通过观察是函数中使用的加密算法不一样。通过PHP的官网http://php.net/manual/en/function.openssl-get-cipher-methods.php找到了所有的加密算法。如下图: 来源PHP官网 由于我的函数中使用到的是 MCRYPT_RIJNDAEL_128 和 MCRYPT_MODE_CFB 在代码2...
MCRYPT_RAND); mcrypt_generic_init($td, $enc_key, $iv); $data = mcrypt_generic($td, $price); mcrypt_generic_deinit($td); mcrypt_module_close($td); $data = base64_encode($data); return $data; }
就是用 openssl_encrypt替换掉mcrypt_encrypt: (值得一提的是,openssl_encrypt的用法与mcrypt_encrypt的用法略有不同,具体可以查看手册) 至此,问题算是彻底解决o(^▽^)o openssl_encrypt
最近想将php5.6升级到php7.2,翻阅兼容性文档,发现mcrypt已被移除,官方建议用openssl代替,原先项目用到mcrypt,于是进行替换测试。 $key ='1234567890123456';//16字节$iv ='1234567890123456';//16字节$str ='abcdefg测试密文...'; 原加密代码: $encrypted= mcrypt_encrypt(MCRYPT_RIJNDAEL_128,$key,$str, MCRYPT_...
PHP7.1废弃加密方法替换方案: mcrypt_encrypt VS openssl_encrypt 遇到的问题? 鬼畜的勺子 32 发布于 2023-11-10 广东新手上路,请多包涵 function priceEncode($enc_key, $price){ $enc_key = base64_decode($enc_key); // PHP低版本使用,PHP7.1.0起废弃 $size = mcrypt_get_block_size(MCRYPT_RIJNDAEL...
PHP7.1废弃加密方法替换方案: mcrypt_encrypt VS openssl_encrypt 遇到的问题? 以下代码可以在PHP5.6环境下正常运行,且结果正确。 functionpriceEncode($enc_key,$price){$enc_key=base64_decode($enc_key);// PHP低版本使用,PHP7.1.0起废弃$size=mcrypt_get_block_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_ECB);...