[英]Best way to store multiple passwords into Database
在我的數據庫中,有一個用於輸入用戶密碼(User.UserPassword)的字段,我正在使用SHA1算法對用戶輸入進行哈希處理,然后使用鹽對其進行哈希處理。 好沒問題。
但是現在我也在對CIFS用戶進行身份驗證。 CIFS的一種協議是NTLMv1,它對我的Samba Java服務器使用16位MD4(非常不安全)。
我無法將MD4轉換為SHA1或比較那些哈希結果。 因此,我需要保存兩個哈希或比較它們。 因此,我可以:
將MD4哈希保存到User.UserPasswordMD4中。
將MD4哈希保存到其他表中,例如ExternalAuthenticators
保存用戶全文密碼並進行轉換(大)
Spring Security(我還不知道該怎么做)
您的選擇在這里...
誰能幫我?
看起來您應該將RC4哈希存儲在某個地方,因為客戶端和服務器都應對質詢字節執行相同的操作,然后服務器應比較結果。
您可以在加密分區上存儲重要的數據庫數據或所有數據庫數據,但是這會稍微降低性能。
我可以建議將RC4密碼存儲到SHA-1字段中,但應進行加密。 3DES就足夠了,也許要加些鹽。 您已經應該在SHA-1哈希值的某處加鹽。 當您需要RC4哈希時,可以簡單地從數據庫解密值,減去(或XOR)鹽並執行常規的身份驗證過程。
而且不要使用NTLM v1,因為它太舊而且不安全。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.