我没有在PHP7中使用mcrypt函数

我没有在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));

我没有使用下面的函数来运行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));
  $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之后的版本中,我还没有成功地使其工作: