2012-03-28 67 views
0

我們有一個與java相關的應用程序,它以加密的形式在DB中存儲密碼,所以我們需要解密並使用它進行身份驗證,並再次加密密碼並存儲在Db中基本上我們使用加密/解密標準來進行密碼驗證,它最初是使用DESede算法實現的,所以我們需要將這些ecryption標準從desede更新到一些新的標準,因此任何一個都建議DESede的更新標準。從DESede到AES的java加密標準的更新

我在想AES-256算法,所以任何有效的建議。

+2

是否有加密密碼而不是使用散列進行身份驗證的好理由? – 2012-03-28 13:41:42

+0

我們就像授權管理應用程序一樣,需要用戶身份驗證的高安全性,所以需要對密碼進行編碼和解密 – redneck 2012-03-28 13:53:53

回答

2

與任何加密/安全的東西一樣,很容易出錯。 你應該看看現有的標準/實現。 對於「確保密碼」的任務,請考慮RFC 2898/PKCS#5 PBKDF2。 退房http://www.faqs.org/rfcs/rfc2898.htmlhttp://www.rsa.com/rsalabs/node.asp?id=2127

你可能實際上並不想加密密碼。你要壽衣他們。一種已知的方法是應用種子和迭代散列。請確保您無法自己獲取的密碼。否則任何人都可以閱讀你的數據(基地)將有一個容易的工作。給定使用的ID和密碼以及種子,重新應用遮蔽,然後比較結果。

當然,有一些方法可以將分組密碼轉換爲單向函數,也許您的系統已經做到了這一點。如果是這樣,則可以簡單地更換分組密碼。