2011-10-08 49 views
1

我下面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的原始代碼是錯誤的。我究竟做錯了什麼?

謝謝!

+0

稱爲'hashMD5IfNecessary'的方法,有一個叫'password'參數,是** **很邪惡! –

+0

無論如何,在數據庫中存儲密碼的一個簡單的,無損的MD5散列表,現在,大部分與以明文方式存儲密碼相同。 –

+0

@BrunoReis對不起,回覆遲了,感謝您的意見。我在安全方面很新鮮。我認爲MD5就夠了。你的意思是它仍然是可破解的? – Jill

回答