我有用戶登錄,但用戶可以以不區分大小寫的方式登錄意味着如果您的密碼是'測試',那麼用戶可以用'TEST'密碼登錄。
我想在我的密碼字段中避免這種類型的身份驗證。如何使用區分大小寫的MySQL密碼字段?
8
A
回答
13
5
我想你是在清楚地存儲密碼。這不僅非常不安全,在大多數情況下也是不必要的。我的建議是密碼儲存在兩列,如:
password_salt VARCHAR(16)
password_hash VARCHAR(40)
存儲新密碼之前,採取由用戶($clear_password
)提供的密碼,創建一個隨機字符串($salt
),並同時使用,以創建哈希(sha1sum($salt . $clear_password
)。存儲salt和hash並丟棄清除密碼。
要驗證密碼,請爲給定用戶檢索存儲的salt,生成散列並查看它是否與數據庫中的散列匹配。
該技術被稱爲salted passwords。
相關問題
- 1. Linq到SQL查詢密碼字段區分大小寫
- 2. MySQL不區分大小寫
- 3. 如何在sql server08中檢查區分大小寫的密碼
- 4. 使htpasswd用戶名和密碼不區分大小寫敏感
- 5. mysql區分大小寫的字段名查詢
- 6. 區分大小寫的MySQL如查詢
- 7. 如何在MySQL的instr()中使用區分大小寫?
- 8. 如何區分大小寫?
- 9. 使區分大小寫不敏感的區分大小寫表
- 10. 區分大小寫區分大小寫還是全大寫?
- 11. 如何使lucene不區分大小寫
- 12. 如何使jquery不區分大小寫?
- 13. 如何使Oracle不區分大小寫
- 14. 如何使preg_quote不區分大小寫?
- 15. 如何使SQL區分大小寫
- 16. 如何使ntfs區分大小寫
- 17. 如何區分使用Django admin「prepopulated_fields」的大小寫字母?
- 18. Vaadin:如何使所有片段的網址區分大小寫
- 19. 如何使PHP/MySQL中的SELECT不區分大小寫?
- 20. MySQL的區分大小寫插入
- 21. PHP/MySQL的搜索 - 區分大小寫
- 22. MySQL查詢的WHERE區分大小寫
- 23. mysql的,區分大小寫通過笨
- 24. MySQL中區分大小寫的查詢
- 25. MySQL中不區分大小寫的REPLACE?
- 26. MySQL不區分大小寫的搜索?
- 27. MySQL - 不區分大小寫的搜索
- 28. 從FormsAuthentication.Authenticate刪除用戶名/密碼區分大小寫
- 29. 區分大小寫的區分大小寫的
- 30. 區分大小寫File.equals區分大小寫的文件系統
感謝您的快速響應,它的安全風險的好主意 – SKu
@SKu請首先閱讀 - http://codahale.com/how-to-safely-store-a-password/。使用sha1是不夠的。 –
有利於安全,但不必對問題做任何事情? – joel