Я слежу за Учебным пособием BalusC по DAO , где есть эта функция:
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 неверен.Что я делаю не так?
Спасибо!