Выбор ответа Junior Криптография на практике и JWT обновлено

Генерация токенов

Вопрос

Какой генератор подходит для токена сброса пароля в Node.js?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: crypto.randomBytes(32).toString("hex"). Math.random не криптографический и предсказуем.

Варианты ответа

  1. Math.random().toString(36).slice(2)
  2. Date.now().toString(16) + process.pid
  3. uuidv1() с MAC-адресом сервера
  4. crypto.randomBytes(32).toString("hex")правильный ответ

Разбор

Math.random не криптографический и предсказуем. Время и UUIDv1 (время плюс MAC-адрес) легко угадать. Нужен криптографический генератор с достаточной энтропией: 32 байта дают 256 бит.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.