由于不建议使用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,谢谢!
答案 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);