Энтропия в криптографии характеризует непредсказуемость значения для противника. Большая длина строки не гарантирует высокой энтропии: повторяемый шаблон или слабый генератор дают предсказуемые ключи и токены.
Криптографические ключи, nonce и токены получают из CSPRNG, который инициализируется достаточным и корректно собранным seed. Разработчик не придумывает собственный генератор, а использует системный криптографический интерфейс и учитывает поведение при старте, клонировании и сбое источника.
Сервис генерирует токен сброса пароля через системный CSPRNG из 256 случайных бит, хранит его хеш и ограничивает срок. UUID на основе времени и обычный PRNG для этой задачи отклонены как предсказуемые.
Точно — нет; оценивают модель выбора и пространство возможных значений, а для пользовательских паролей учитывают неравномерность поведения.
Подходит ли Math.random для токенов?Нет. Обычный PRNG предназначен не для противодействия предсказанию; нужен системный CSPRNG.
Хеширование увеличивает энтропию?Нет. Хеш может равномерно представить вход, но не добавляет отсутствующую непредсказуемость.