Генератор паролей
Байты 0, 1, 2, 3, 255, 4, 5, 6, 7 и алфавит abc дают пароль abcabcab: байт 255 отбрасывается, остальные берутся по остатку от деления на 3.
Составляем пароль
Как считается
Индекс символа = байт mod N, но только если байт < ⌊256 / N⌋ × N. N — число символов в выбранном алфавите. Байты от этого порога до 255 отбрасываются, иначе первые символы выпадали бы чаще. Оценка стойкости: длина × log2(N) бит.
Алфавит abc, N = 3, порог ⌊256 / 3⌋ × 3 = 255. Байты 0, 1, 2, 3, 255, 4, 5, 6, 7 дают abcabcab. Для 16 символов из полного набора (94 знака, порог 188) оценка около 104,9 бит.
Строка собирается в браузере из crypto.getRandomValues и никуда не отправляется. Наборы: строчные a–z, прописные A–Z, цифры 0–9 и 32 знака !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~. Похожие символы, которые можно убрать: 0, O, o, 1, l, I. Нужен хотя бы один набор. Длина от 8 до 64, по умолчанию 16. Ссылка запоминает настройки, но не сам пароль. Это генератор для копирования: он не проверяет и не подбирает чужие пароли.
Вопросы
Почему байт не берут как остаток от деления на длину алфавита?
256 не делится на длину алфавита нацело. Прямой остаток чаще выбирал бы первые символы. Байты от порога до 255 выбрасываются, и у каждого символа равный шанс.
Пароль уходит на сервер?
Нет. Символы выбираются в браузере. По ссылке передаются только длина и выбранные наборы, а пароль создаётся заново.
Обновлено 11 ноября 2026.