0
我正在創建登錄,其中註冊用戶可以使用那裏登錄Emailid和密碼(使用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 */
?>
當用戶在登錄它是跨檢查數據庫中的電子郵件ID和密碼。
因此,我寫了解密函數來匹配密碼,如果emailid與密碼匹配,那麼用戶將登錄。
的代碼是:
<?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