我没有在PHP7中使用mcrypt函数
我没有使用下面的函数来运行PHP 7:我没有在PHP7中使用mcrypt函数,php,Php,我没有使用下面的函数来运行PHP 7: /* * blowfish encrypt function * @params * $key * $plain_text */ function encrypt_data($key, $plain_text) { $plain_text = trim($plain_text); $iv = substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_BLOWFISH,MCRYPT_MODE_CFB));
/*
* blowfish encrypt function
* @params
* $key
* $plain_text
*/
function encrypt_data($key, $plain_text) {
$plain_text = trim($plain_text);
$iv = substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_BLOWFISH,MCRYPT_MODE_CFB));
$c_t = mcrypt_encrypt (MCRYPT_BLOWFISH, $key, $plain_text, MCRYPT_MODE_CFB, $iv);
return base64_encode($c_t);
}
/*
* blowfish decrypt function
* @params
* $key
* $c_t
*/
function decrypt_data($key, $c_t) {
$c_t = base64_decode($c_t);
$iv = substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_BLOWFISH,MCRYPT_MODE_CFB));
$p_t = mcrypt_decrypt (MCRYPT_BLOWFISH, $key, $c_t, MCRYPT_MODE_CFB, $iv);
return trim($p_t);
}
我不会收到PHP警告
我认为这一行,$iv=substrmd5$key,0,mcrypt\u get\u iv\u size mcrypt\u河豚,mcrypt\u MODE\u CFB;,制作不正确
怎么办?可能是您使用了PHP7.2吗 在PHP7.2中不再支持mcrypt,在7.1中被弃用并最终删除
它所基于的libmcrypt自2007年以来就放弃了上游支持!所以是时候摆脱它了。注意:Mcrypt已经过时了。请使用更安全的加密,如openssl、libsodiumh您的初始化向量有多长?需要>=8我不知道初始化向量有多长,但我修正了我的问题,因为我不再得到php警告,而是在其他php文件中得到它们。但是,我使用Zend Framework 1.2实现了我的整个解决方案。因此,需要进行大量编程才能使我的解决方案发挥作用。我有一个PHP7.0.22。以下是让mcrypt使用PHP7.2的解决方案链接。但在PHP 7.2之后的版本中,我还没有成功地使其工作: