【发布时间】:2017-06-04 01:57:48
【问题描述】:
自 PHP 7.1.0 起,Mcrypt 函数已被弃用。
我已弃用的字符串编码/解码函数:
$key: secret key
$str: string
$encoded = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $str, MCRYPT_MODE_CBC, md5(md5($key))));
$decoded = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($str), MCRYPT_MODE_CBC, md5(md5($key))), "\0");
你能推荐一些替代品吗?
【问题讨论】:
-
你在这里不走运。您正在使用 Rijndael-256 密码,这是非常不寻常的,并且不受 OpenSSL 支持。您可能的意思是 AES-256,它是带有 256 位密钥的 Rijndael-128。如果您可以选择切换密码,请切换到 Rijndael-128,在这种情况下您可以使用 OpenSSL。
-
为什么不直接使用 sha-256 (sha version 2)
标签: php encoding decode mcrypt php-7.1