-2
當我打開密碼看起來像這樣如何在mysql數據庫中解密密碼?
|user_name|user_pass |
|--------------------------------------------|
|marse |$1$ma000000$4zr8TJkJ9zS60NuToTxjA.|
我知道我的密碼是不是這樣的,因爲我創建的帳戶用於測試目的的數據庫,但是當我打開數據庫變成那樣的密碼。有沒有加密?如果有,如何解密它? 因爲目前我正在登錄頁面上工作,我的php代碼將用戶輸入與數據庫的用戶輸入進行比較。 我用來比較的代碼是這樣的
<?php
// Grab User submitted information
$name = $_POST["users_name"];
$pass = $_POST["users_pass"];
// Connect to the database
$con = mysqli_connect("localhost","username","password");
// Make sure we connected succesfully
if(! $con)
{
die('Connection Failed'.mysql_error());
}
// Select the database to use
mysqli_select_db("cvgcrm",$con);
$result = mysqli_query("SELECT * FROM users WHERE user_name = $name");
$row = mysqli_fetch_array($result);
if($row["user_name"]==$name && $row["user_pass"]==$pass)
echo"You are a validated user.";
else
echo"Sorry, your credentials are not valid, Please try again.";
?>
你不能。密碼甚至沒有加密,它被散列。哈希是單向函數,所以不能顛倒。 –
那麼我該如何比較用戶輸入的哈希密碼? – marse
使用相同的哈希函數對密碼進行哈希處理。如果它與數據庫中的內容相符,那麼密碼必須正確。 –