簡體   English   中英

如何針對鹽和哈希密碼和用戶名對用戶進行身份驗證?

[英]How to authenticate user against salted and hashed password and username?

我正在開發一個.net Web api項目,需要將用戶名和密碼存儲在用戶表中,然后加進哈希表中。

如果用戶名和密碼字段在用戶表中隨機散列並且鹽存儲在用戶的同一行中,我將如何驗證用戶? 我想念什么嗎? 似乎我無法找到用戶進行密碼比較。

它們本身不是隨機散列的。 它們針對相同的密鑰進行哈希處理。 結果,要進行身份驗證,您將需要對輸入的憑據重復哈希處理,並將該哈希與用戶存儲的哈希進行比較。

另一個選擇是使用內置的成員資格提供程序為您處理身份驗證。

您對散列的實際要求實際上是很難解決的要求。 如您所確定的,您將沒有什么可用來標識該用戶的。 結果,您將不得不使用一些排序數據(例如IP,用戶代理字符串等)來做出最佳猜測。 但是,這將是非常危險的。

最終,用戶名用於識別用戶身份,而不是對該用戶進行身份驗證。 如果您有安全要求,從不顯示用戶名或以其他方式保護用戶名,請顯示他們以其名字或其他標識符登錄,這樣就不會暴露用戶名。 最終,您必須查找用戶記錄,並且對用戶名進行哈希處理只會增加難度,並且不會為您提供任何真正的安全優勢。

其他有價值的安全性閱讀可以在這里找到

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM