Я создаю логин, где зарегистрированный пользователь может Войти с помощью электронной почты и пароля (используйте Lampp).mcrypt_decrypt не работает при использовании в другом php-файле
У меня есть одна форма, где пользователь регистрируете там с информацией, которая является имя пользователя, EMAILID, пароль и т.д.
затем при вставке данных в базу данных MySQL я шифрования пароля.
код:
<?php
define("ENCRYPTION_KEY", "[email protected]#$%^&*");
$finalarray=array();
$finalarray['UserName']= $_POST["fname"];
$finalarray['EmailID']= $_POST['email'];
$password = $_POST['pwd'];
$encrypted = encryptIt($input);
$finalarray['Password']= $encrypted;
function encryptIt($q)
{
$cryptKey = 'qJB0rGtIn5UB1xG03efyCp';
$qEncoded = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($cryptKey), $q, MCRYPT_MODE_CBC, md5(md5($cryptKey))));
return($qEncoded);
}
/* code for insert into database */
?>
когда пользователь войти в это перепроверить идентификатор электронной почты и пароль в базе данных.
поэтому для этого я написал функцию расшифровки, чтобы соответствовать паролю, и если адрес электронной почты совпадает с паролем, тогда пользователь будет входить в систему.
код:
<?php
include 'ConnectionDatabase.php'; /database connnection
define("ENCRYPTION_KEY", "[email protected]#$%^&*");
ob_start();
session_start();
$username = $_POST['email'];
$password = $_POST['password'];
$connection= connection(); //connected
$username = mysql_real_escape_string($username);
$query = "SELECT EmailID,Password
FROM User
WHERE EmailID = ".'$username';
$result = mysql_query($query);
if(mysql_num_rows($result) == 0) // User not found. So, redirect to login_form again.
{
echo "Not Valid User";
header('Location: login.html');
}
$row=mysql_fetch_array($result);
$encryptpassword=$row[1];
echo $encryptpassword."<br>";
$decrypted = decryptIt($encryptpassword);
echo $decrypted; //no value is coming
if($password != $decrypted) // Incorrect password. So, redirect to login_form again.
{
header('Location: login_fb.php');
}else{ // Redirect to home page after successful login.
echo "login";
session_regenerate_id();
$_SESSION['sess_user_id'] = $userData['id'];
$_SESSION['sess_username'] = $userData['username'];
session_write_close();
//header('Location: creatememorial.php');
}
function decryptIt($q) {
$cryptKey = 'qJB0rGtIn5UB1xG03efyCp';
$qDecoded = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($cryptKey), base64_decode($q), MCRYPT_MODE_CBC, md5(md5($cryptKey))), "\0");
return($qDecoded);
}
?>
эхо $ расшифрованы; нет печать какой-либо думаю.
Я ссылался на ссылку this, когда я сделал это в одной программе своей работы.
, когда я использую этот два файла php, он не работает.
Я не знаю, в чем проблема.
Может ли кто-нибудь мне помочь в этом.
Благодарим за ответ. но когда я вставляю пароль в базу данных при шифровании fcygGLqlfhk6J7w7XuMGWgpQOJWizlAUFi2Yt5/Q68xM = и в логине тот же пароль - zPr2eL6eOtJXa91J9W + C/XG32j4bvk0lZ5AmcFS9vR4 = Я не понимаю, в чем проблема, пожалуйста, помогите мне в этом. – user3184286
Да, если вы зашифруете пароль, введенный пользователем при входе в систему, он будет соответствовать строке в базе данных, если она верна. – Ryan
пароль такой же. но он дает различную ценность. в чем проблема – user3184286