Новая соль
Часть раздела Аутентификация и безопасность путешествия по Node.js на Coddy. Урок 3 из 24.
Люди могут выбрать один и тот же пароль. Соль — это случайные данные, которые добавляются при получении ключа для хранения пароля. Новая соль позволяет получать разные ключи хранения для одинаковых паролей. Соль хранится рядом с ключом; её не нужно держать в секрете.
const salt = randomBytes(8).toString('hex');
// 8 случайных байтов, записанных в виде 16 шестнадцатеричных символовСоздавайте соль внутри функции, которая вызывается для каждого нового пароля. Значение, созданное один раз при запуске сервера, будет использоваться повторно. Вы получили ключ с помощью фиксированной учебной соли. Теперь для хранения паролей каждый раз нужна новая соль. Здесь потренируйтесь только создавать соль и проверять длину её текстового представления — 32 символа.
randomBytes использует криптографический генератор случайных чисел. Math.random() не предназначен для значений, связанных с безопасностью. Используйте импортированную криптографическую функцию для создания соли.
Задание
ЛегкоЭто небольшой практический проект. Его настройка уже выполнена; редактируй только exercise.js.
Возвращай новую случайную соль длиной 16 байт в шестнадцатеричном виде в salt. Дважды выполни GET для /result: каждый ответ содержит разную шестнадцатеричную строку из 32 символов. Не используй фиксированную соль.
Попробуйте сами
import { randomBytes } from 'node:crypto';
export function exercise() {
return { salt: '00000000000000000000000000000000' };
}
Все уроки раздела Аутентификация и безопасность
Потренируйтесь самостоятельно: Песочница Express