2013-06-05 22 views
1

我正在做一個學校項目,使一個Java程序,包括登錄/訂閱的形式。什麼內置Java哈希函數用於密碼

因爲它是爲了學校我不應該包括任何第三方庫,如jBcrypt或其他強大的散列函數。 我想爲每個用戶使用java.security.random的sha256生成一個salt,但我不知道使用密碼的哈希函數。 我不想只使用sha256/512的一個迭代,因爲它有點弱,我也不想用一個sha256/512的迭代100次做循環,因爲我猜如果bcrypt和其他人存在它這是因爲迭代sha是不夠的(也因爲我知道嘗試重新開始自己的密碼學是一個壞主意)。

那麼我應該使用什麼內置散列函數來存儲我的密碼?

注意:我知道在這種情況下(學校項目)登錄數據不值得一個很好的安全性(這也不是我的主題所要求的),但我想盡可能地做到這一點,所以請不要回答md5/sha512哈希對於這種情況就足夠了。

+0

http://stackoverflow.com/questions/10012918/pbe-verify-password-before-attempting-to-decrypt –

+0

使用非官方計算器搜索引擎來搜索現有的堆棧溢出問題。該網址是www.google.com – DwB

回答

1

我建議你學習如何使用SHA256和512來輸入密碼,同時注意一些鹽分。

參見例如http://www.jasypt.org/howtoencryptuserpasswords.html

「6.在Java中執行」描述瞭如果您不想使用外部庫,則可以用來實現算法的Java方法。

祝你好運!