所以随着时间的推移,mcrypt将在PHP 7.2中。 当然还有一个select:openssl。 我发现很难从mcrypt切换到openssl,使用AES 256 CBC和保留IV。 我对密码学有点新鲜,所以我并不是很了解所有的东西,但我理解这些基础知识。 假设我有以下代码 function encrypt($masterPassword, $data) { $keySize = mcrypt_get_key_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); $iv = mcrypt_create_iv($ivSize, MCRYPT_DEV_URANDOM); $key = mb_substr(hash('SHA256', $masterPassword), 0, $keySize); $encrypted = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $data, MCRYPT_MODE_CBC, $iv); return base64_encode($iv . $encrypted); } function decrypt($masterPassword, $base64) { $keySize = mcrypt_get_key_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_CBC); $key […]