PHP升级至7.2.5,之前使用了mcrypt_encrypt和mcrypt_decrypt函数,现在出现了如下错误:
Call to undefined function mcrypt_decrypt()
经过多方参考,终于解决了这个数据兼容的问题
感谢:https://www.v2ex.com/t/370493
问题背景:原来的加密密钥32位,IV是16位
mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $str, MCRYPT_MODE_CBC, $iv);
mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $key, $str, MCRYPT_MODE_CBC, $iv);
变更后为:
openssl_encrypt($str, 'aes-256-cbc', $key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING, $iv);
openssl_decrypt($str, 'aes-256-cbc', $key, OPENSSL_RAW_DATA|OPENSSL_ZERO_PADDING, $iv);