openssl_encrypt和mcrypt_encrypt(MCRYPT_CAST_128)的结果相同

时间:2018-10-04 16:29:02

标签: php

我有一个旧的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/ 我得到了相同的结果。

0 个答案:

没有答案