Метод шифрования не работает в новых версиях PHP - PullRequest
0 голосов
/ 21 сентября 2019
  <?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), он работал нормальнов старых версиях, что я мог сделать сейчас, я не могу изменить метод шифрования сейчас, так как слишком много паролей было зашифровано с использованием этого ... так что я хотел бы знать, как обойти эту проблему.

1 Ответ

0 голосов
/ 21 сентября 2019
   <?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 (), как упоминали другие парни ... спасибо, теперь я более защищен, потому что, если вы, ребята ...

...