我有一个旧的PHP项目,在其中使用了 mcrypt_encrypt 但是此功能在新的PHP中不起作用。 我尝试将其转换为php7 +,使用 openssl_encrypt ,但我却得到否相同的结果,我做错了什么? 也许您知道其他获得相同结果的方法吗?
mcrypt_encrypt函数:
public static function cryptToCode($data)
{
$iv_size = @mcrypt_get_iv_size(MCRYPT_CAST_128, MCRYPT_MODE_ECB);
$iv = @mcrypt_create_iv($iv_size, MCRYPT_DEV_URANDOM );
$code = @mcrypt_encrypt(MCRYPT_CAST_128, self::KEY_TRANSLATE_ID, $data, MCRYPT_MODE_ECB, $iv);
$code = bin2hex($code);
return $code;
}
openssl_encrypt函数:
public static function cryptToCodeSSL($data, $key = self::KEY_TRANSLATE_ID, $method = "cast-128-ecb") //"cast-128-ecb"
{
$iv_size = openssl_cipher_iv_length($method);
$iv = openssl_random_pseudo_bytes($iv_size);
$code = openssl_encrypt($data, $method, $key, OPENSSL_RAW_DATA, $iv);
$code = bin2hex($code);
return $code;
}
完成:
我找到了图书馆http://www.gilfether.com/phpcrypt/ 我得到了相同的结果。