php 账号与密码比对,Php - 将密码与root密码进行比较
你應該考慮用鹽來哈希密碼。 md5()算法并不是真正推薦用于安全環境,但至少可以使工作更加困難。
在數據庫中保存密碼時,您應該執行類似的操作
$salt = 'dhg1d9h12h1029he01h2e1'; // Just have something random and long here
$hashedpassword = md5($salt.md5($password, true)); // Or any other combination you like here
然后,您可以將$ hashedpassword保存到數據庫中,如下所示:
mysql_query(sprintf("UPDATE Login SET pwd = '%s' WHERE username = '%s'",
mysql_real_escape_string($hashedpassword),
mysql_real_escape_string($username)
));然后,當您想要檢查密碼是否匹配時,執行與上述完全相同的步驟來計算$ hashedpassword值,但傳入其測試密碼,然后將其與數據庫中的內容進行比較,例如:
$result = mysql_query(sprintf("SELECT (pwd = '%s') AS authenticated FROM Login WHERE username = '%s'",
mysql_real_escape_string($hashedpassword),
mysql_real_escape_string($username)
));
$row = mysql_fetch_assoc($result);
if ($row['authenticated']) {
echo "Success!";
}Aaaanyway,你看起來剛剛開始,所以我會非常小心你如何使用實際的密碼驗證。根據我的理解,bcrypt2是您想要使用的而不是md5,但我將讓您閱讀如何在PHP中執行此操作;你一定要讀完這些東西。
我還會檢查登錄表的結構。您可能需要多個用戶,否則為什么不將哈希存儲在代碼本身而不是數據庫中呢?
此外,您可以通過檢查$ _SERVER ['REQUEST_METHOD'] =='POST'來確定是否有人提交表單或獲取表單,這比使用get URL參數更清晰(盡管我猜其他人沒有任何問題)方法...)
總結
以上是生活随笔為你收集整理的php 账号与密码比对,Php - 将密码与root密码进行比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 会ps会php,学会ps可以做什么
- 下一篇: oracle元数据存储在表空间,orac