Skip to content

Instantly share code, notes, and snippets.

@zmts
Last active June 24, 2025 09:40
Show Gist options
  • Save zmts/b72d3bcfd07634ff519da407bb86f361 to your computer and use it in GitHub Desktop.
Save zmts/b72d3bcfd07634ff519da407bb86f361 to your computer and use it in GitHub Desktop.
Про хранение паролей в БД

Про хранение паролей в БД

При создании нового юзера

  1. При регистрации юзер вводит некий пароль
  2. Генерим случайную соль индивилуально для каждого юзера
  3. Создаем хеш на основе введенного юзером пароля и соли
  4. Записываем хеш(не пароль) в БД + соль в отдельном филде

Авторизация существующего юзера

  1. Юзер вводит в поле авторизации некий пароль
  2. Берем данный пароль, берем соль из базы
  3. Солим только сто полученный пароль, в итоге получаем хеш
  4. Берем валидную хеш из БД и сравниваем ее с только что полученной хешЮ
  5. Profit, если введенный пароль вырный авторизируем, если нет говорим юзеру ввести правильный пароль

Приактическое применение

https://github.com/dcodeIO/bcrypt.js

var bcrypt = require('bcryptjs');
bcrypt.genSalt(10, function(err, salt) {
    bcrypt.hash("B4c0/\/", salt, function(err, hash) {
        // Store hash in your password DB.
    });
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment