Я сейчас нахожусь в процессе изменения обработки пароля в веб-приложении с несоленого MD5 на bcrypt. Это стандартное приложение JSF, работающее на Glassfish 3.0.1.
Использование jBCrypt значительно облегчило создание и хранение хэшей. Но теперь я не знаю, как использовать bcrypt в реальной аутентификации, когда пользователь входит в систему. Поскольку это JSF, вход в систему инициируется с помощью метода входа HttpServletRequest #, а остальное обрабатывается стеком Java EE и Glassfish.
Просто установить для алгоритма дайджеста областей безопасности значение «none», а затем хешировать пароль перед его передачей, метод входа не будет работать, потому что у меня нет сгенерированного соли jBCrypt, который изначально использовался при создании хэша.
Я также хотел предоставить пользовательскую реализацию области безопасности, но для такого небольшого изменения, похоже, много работы.
Есть ли более простое решение? Или кто-то уже реализовал подобную область безопасности?