加密方法在较新的 php 版本中不起作用

Encryption method not working in newer php versions

  <?php

 if($_SERVER['REQUEST_METHOD']=='POST'){ 
 require_once('ConnectUsers.php');

 $email = $_POST['email'];
 $password = $_POST['password'];
 $encrypt_pass= encryptIt($password);

$sql="Update Subscriber_Login SET SubsPassword = '$encrypt_pass' where EmailId = '$email'";

if(mysqli_query($conn,$sql)){
echo 'password updated';
}
else{

 echo 'oops! Please try again!';

 }

  function encryptIt( $q ) {
   $cryptKey  = 'mjn2Wb5wM46uBehwuabh';
   $qEncoded      = base64_encode( mcrypt_encrypt( MCRYPT_RIJNDAEL_256, md5( $cryptKey ), $q, 
   MCRYPT_MODE_CBC, md5( md5( $cryptKey ) ) ) );
   return( $qEncoded );
 }

 }

 ?>

那是我的代码,用于在我的网站上重置密码,这里我使用的加密方法似乎不适用于较新的 PHP 版本,如 7.2(当前 PHP版本),它在旧版本中运行良好,所以我现在能做什么,我现在无法更改加密方法,因为使用此加密的密码太多了..所以我想知道这个问题的解决方法。

   <?php

 if($_SERVER['REQUEST_METHOD']=='POST'){
 require_once('ConnectUsers.php');

 $options = array(
'salt' => mcrypt_create_iv(22, MCRYPT_DEV_URANDOM),
'cost' => 12,
);

$email = $_POST['email'];
$newPass = $_POST['newPass'];
$password = $_POST['password'];

$encrypt_pass= password_hash($password, PASSWORD_BCRYPT, $options);
$encrypt_newpass = password_hash($newPass , PASSWORD_BCRYPT, $options);

if(password_verify($password, $encrypt_pass)){
  $sql = "Update Subscriber_Login Set SubsPassword = '$nePass' where EmailId = 
'$email' and SubsPassword = '$pass'";

  if(mysqli_query($conn,$sql))
  {

 echo "Password Updated";
  } else {

 echo "Password can not be updated";
 }
} else {
echo "your current password does not match";
}

mysqli_close($conn);
}
 ?>

我刚刚这样做并解决了问题,我使用了其他人提到的 password_hash()..谢谢,现在我更安全了,因为如果你们...