Играть! хэш-пароль возвращает неверный результат

Я использую Play 1.2.1. Я хочу хешировать свой пароль пользователя. Я думал, что Crypto.passwordHash подойдет, но это не так. В документации passwordHash говорится, что он возвращает хеш пароля MD5. Я создал несколько учетных записей пользователей в приспособлении, где я поместил хэш пароля md5:

  ...
User(admin):
  login: admin
  password: f1682b54de57d202ba947a0af26399fd
  fullName: Administrator
  ...

Проблема в том, что когда я пытаюсь войти в систему, возникает что-то вроде этого:

user.password.equals(Crypto.passwordHash(password))

и это не работает. Поэтому я поместил оператор журнала в свой метод autentify :

Logger.info("\nUser hashed password is %s " +
                    "\nPassed password is %s " +
                    "\nHashed passed password is %s",
                    user.password, password, Crypto.passwordHash(password));

И хэши паролей действительно разные, но эй! Вывод метода passwordHash даже не является хешем MD5:

15:02:16,164 INFO  ~
User hashed password is f1682b54de57d202ba947a0af26399fd
Passed password is <you don't have to know this :P>
Hashed passed password is 8WgrVN5X0gK6lHoK8mOZ/Q==

Как насчет этого? Как это исправить? Или, может быть, мне нужно реализовать собственное решение?

5
задан jjczopek 8 June 2011 в 13:21
поделиться