Несколько способов хранения паролей в базах данных:
- Хранение хешей паролей. 1 Когда пользователь вводит пароль при регистрации в сервисе, в базу данных рядом с логином записывается не сам пароль, а его хеш. 1 При последующих попытках залогиниться записанный в базу хеш сравнивается с хешем комбинации символов, вводимой пользователем. 1 Если хеши совпадают — значит, пароль соответствует указанному при регистрации. 1
- Солёные хеши. 1 Перед тем как вычислить хеш пароля и записать его в базу, к нему добавляют случайный набор символов — соль (salt). 1 Таким образом записанные в базу хеши полностью изменяются, и даже наиболее часто используемые пароли становится невозможно взломать с помощью радужных таблиц. 1
- Использование встроенного расширения pgcrypto в PostgreSQL. 3 В этой базе данных есть встроенное расширение, предназначенное специально для хэширования паролей. 3 Для его активации нужно выполнить команду-запрос: CREATE EXTENSION pgcrypto. 3
Для обеспечения безопасности пароли не рекомендуется хранить в открытом виде. 2