PHP,mcrypt_generic通过MCRYPT_MODE_ECB转换为openssl_encrypt

时间:2020-08-20 03:55:08

标签: php

由于不建议使用Mcrypt,因此我想在代码中使用OpenSSL

        $key = md5($tenant, true);
        $iv_length = mcrypt_get_iv_size(self::$algorithm, MCRYPT_MODE_ECB);
        $iv = mcrypt_create_iv($iv_length, MCRYPT_DEV_URANDOM);//MCRYPT_RAND
        //$encrypted = mcrypt_encrypt(self::$algorithm, $key, $data, MCRYPT_MODE_ECB);
        $td = mcrypt_module_open(self::$algorithm, '', MCRYPT_MODE_ECB, '');
        mcrypt_generic_init($td, $key, $iv);
        $encrypted = mcrypt_generic($td, $data);
        mcrypt_generic_deinit($td);
        mcrypt_module_close($td);
        $result = hash('crc32', base64_encode($encrypted));
        return $result;

我不知道如何将mcrypt_generic转换为openssl_encrypt,谢谢!

1 个答案:

答案 0 :(得分:0)

请使用以下代码进行ECB加密和解密。

$encryptedValue = base64_encode(openssl_encrypt($value,'AES-256-ECB',$key,OPENSSL_RAW_DATA));
  
$decryptedValue = openssl_decrypt(base64_decode($encryptedValue),'AES-256-ECB',$key,OPENSSL_RAW_DATA);
相关问题