我下面BalusC's DAO Tutorial,哪裏有這樣的功能:MD5的Java模式
private static String hashMD5IfNecessary(String password) {
return !"^[a-f0-9]{32}$".matches(password) ? hashMD5(password) : password;
}
我加上:
<h:inputText value="#{myBean.password}" />
但"^[a-f0-9]{32}$".matches(password)
(其中password
已經從一個MySQL表中檢索)始終返回false
,即使它傳遞了MD5哈希密碼,如21232f297a57a5a743894a0e4a801fc3
。
我也嘗試了以下的模式:
[a-f0-9]{32}
[a-f0-9]{32}+
,但他們仍然永遠評估爲false
。此外,我非常懷疑BalusC的原始代碼是錯誤的。我究竟做錯了什麼?
謝謝!
稱爲'hashMD5IfNecessary'的方法,有一個叫'password'參數,是** **很邪惡! –
無論如何,在數據庫中存儲密碼的一個簡單的,無損的MD5散列表,現在,大部分與以明文方式存儲密碼相同。 –
@BrunoReis對不起,回覆遲了,感謝您的意見。我在安全方面很新鮮。我認爲MD5就夠了。你的意思是它仍然是可破解的? – Jill