簡體   English   中英

將多個密碼存儲到數據庫的最佳方法

[英]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哈希存儲在某個地方,因為客戶端和服務器都應對質詢字節執行相同的操作,然后服務器應比較結果。

  • 保存純文本密碼-好主意,算了吧。
  • 如果將其另存為Database4中的PasswordMD4,則其安全性僅次於PC4。
  • 保存在其他表中-與以前的版本沒有什么不同。
  • Spring安全性-不知道如何在這里應用。

您可以在加密分區上存儲重要的數據庫數據或所有數據庫數據,但是這會稍微降低性能。

我可以建議將RC4密碼存儲到SHA-1字段中,但應進行加密。 3DES就足夠了,也許要加些鹽。 您已經應該在SHA-1哈希值的某處加鹽。 當您需要RC4哈希時,可以簡單地從數據庫解密值,減去(或XOR)鹽並執行常規的身份驗證過程。

而且不要使用NTLM v1,因為它太舊而且不安全。

暫無
暫無

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

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