Правило Джона: всегда старайтесь избегать написания собственного программного обеспечения для обеспечения безопасности. Слишком легко совершать ошибки, такие как шифрование, а не хеширование, не использование солей и т. Д. Вы не найдете много экспертов по безопасности, которые рассмотрят ваш код, но вы можете ожидать, что довольно многие обращали внимание на более популярные системы с открытым исходным кодом.
Во-первых, можете ли вы использовать OpenID или Shibboleth , чтобы не давать людям еще одну систему, для которой им нужен пароль - я бы поблагодарил вас, если бы я мог использовать существующую учетную запись !
Если ответ «нет», то для хранения пароля попробуйте бесплатный сервер LDAP, такой как OpenDS или Apache Directory Server .
Используйте Spring Security или аналогичный для управления входами в систему и запоминанием. (Есть хорошее видео , которое представляет весеннюю безопасность.)
Вам нужно будет использовать SSL (https), как указано в других ответах, если вы хотите, чтобы ваша система передавала пароли от клиента к серверу.