Генератор случайных строк
Подходит для тестовых идентификаторов, заглушек, токенов и наборов данных. Не сохраняет результаты и использует криптографический генератор браузера.
Из чего собирается строка и сколько в ней бит
Генератор создаёт случайные строки заданной длины из выбранных наборов: строчные и прописные латинские буквы, цифры, знаки препинания. За один раз выдаёт до 500 значений. Годится для тестовых идентификаторов, заглушек в базах, временных паролей, названий файлов и наборов данных, на которых проверяют программу. Результаты нигде не сохраняются, поэтому одну и ту же выдачу дважды получить не выйдет — нужное копируют сразу.
Случайность берётся из криптографического источника браузера, функции crypto.getRandomValues; обычный Math.random для секретов не годится, потому что его последовательность вычислима. Стойкость строки считается просто: каждый знак несёт столько бит, сколько составляет двоичный логарифм размера алфавита. У набора из 62 знаков это около 5,95 бита, поэтому строка из 16 знаков даёт примерно 95 бит — перебрать её нельзя. Длина при этом важнее набора: 20 строчных букв надёжнее 8 знаков со всеми символами. Ориентир такой: 48 бит перебирает домашний компьютер за обозримое время, 80 бит уже требуют вычислительного центра, а 128 бит считаются недосягаемыми.

| Набор | Знаков | 8 знаков | 12 знаков | 16 знаков |
|---|---|---|---|---|
| Только цифры | 10 | 27 бит | 40 бит | 53 бита |
| a–z | 26 | 38 бит | 56 бит | 75 бит |
| a–z и цифры | 36 | 41 бит | 62 бита | 83 бита |
| a–z и A–Z | 52 | 46 бит | 68 бит | 91 бит |
| Буквы и цифры | 62 | 48 бит | 71 бит | 95 бит |
| Со знаками препинания | 94 | 52 бита | 79 бит | 105 бит |
История: от костей до /dev/random
Случайность долго добывали из вещей: жребий, кости, урна с шарами. Когда понадобились длинные ряды, вещи заменили машинами. В 1955 году корпорация RAND издала книгу «A Million Random Digits with 100 000 Normal Deviates» — миллион цифр, полученных от электронной рулетки и вычищенных от перекосов; таблицей пользовались статистики, а книга до сих пор переиздаётся. В 1957 году в Британии заработала машина ERNIE, выбиравшая номера выигрышных облигаций из шума газоразрядных ламп: результаты каждый месяц проверяли на равномерность.
В вычислительных машинах пошли другим путём: числа стали считать формулой. В конце сороковых Дерек Лемер предложил линейный конгруэнтный метод, где каждое следующее число получается из предыдущего умножением и остатком от деления. Такие последовательности быстры и воспроизводимы, что удобно для моделирования и вредно для секретов: зная несколько подряд идущих значений, остальные восстанавливают. Отсюда разделение на генераторы для расчётов и генераторы для криптографии.
Для второго случая нужен физический шум. В 1994 году Теодор Цо написал для Linux устройство /dev/random, которое копит энтропию из задержек нажатий клавиш, движений мыши, обращений к диску и прерываний, а затем перемешивает её. Позже источники добавились в сами процессоры. В браузере ту же работу делает функция crypto.getRandomValues из Web Crypto API: она берёт случайность у операционной системы, и именно ей пользуется этот генератор.


Какую длину брать и когда выключать знаки
Задайте длину, отметьте наборы знаков и укажите количество строк. Для тестовых идентификаторов хватает 8–12 знаков из букв и цифр: их удобно читать вслух и вставлять в адреса. Для временных паролей и токенов берите 16 знаков и больше и включайте все наборы. Знаки препинания стоит выключить, если строка пойдёт в командную строку, имя файла или CSV: кавычки, слэши и точки с запятой там означают другое и ломают разбор.
Пара оговорок про то, чего генератор не делает. Он не проверяет строки на повтор между запусками, поэтому при массовой генерации идентификаторов берите длину с запасом: чем короче строка, тем раньше начнутся совпадения. И он не хранит выдачу — закрытая вкладка стирает её насовсем. Пароль, который человеку придётся вводить руками, удобнее собрать в генераторе паролей, а оценить уже придуманный — в проверке надёжности пароля.
| Строк за раз | до 500 |
| Источник случайности | crypto.getRandomValues |
| Наборы | a–z, A–Z, 0–9, знаки |
| Бит на знак при 62 знаках | ≈ 5,95 |
| 16 знаков из 62 | ≈ 95 бит |
| Таблица RAND | 1955 |
| Машина ERNIE | 1957 |
| Устройство /dev/random | 1994 |
Пример и применение
Можно получить десять идентификаторов по 16 символов из латинских букв и цифр одним нажатием.
Инструмент работает локально: введённые значения не отправляются на сервер и исчезают после закрытия страницы.
Как пользоваться калькулятором
«Длина строки» и «Количество» задают размер выдачи. Для пароля обычно берут 16–20 символов, для технического идентификатора хватает 8–12, для соли и токена — 32 и больше.
Четыре переключателя набирают алфавит: «a–z», «A–Z», «0–9» и «Символы». Чем больше наборов включено, тем выше стойкость: 16 символов из полного набора дают около 105 бит энтропии, из одних строчных букв — 75.
Кнопка «Обработать» заполняет поле «Результат», кнопка «Копировать» забирает всё разом. Символы берутся из Web Crypto API — того же генератора, на котором браузер строит ключи шифрования. Обычный псевдослучайный Math.random для этого не годится.
Пример расчёта
Десять строк по 16 символов из всех четырёх наборов выглядят как 8LPzCqZ0uO7AICIV. Такой строки хватает и на пароль, и на ключ API.
Спросите нейросети об инструменте
Похожие инструменты
Пароль длиной до 64 символов с выбором наборов и отсевом похожих знаков. Показывает стойкость в битах и время перебора, делает до 50 паролей пачкой.
ОткрытьПроверка надёжности пароляСтойкость в битах, время перебора и разбор слабых мест: словарные слова под заменой символов, клавиатурные ряды, годы и повторы.
ОткрытьФорматирование SQLРаскладывает запрос по строкам с отступами, приводит ключевые слова к верхнему или нижнему регистру, не трогает строки и комментарии, умеет сжимать в одну строку.
ОткрытьCSV в JSON и обратноКонвертер таблиц в обе стороны. Сам определяет разделитель, понимает кавычки и переносы внутри ячеек, показывает предпросмотр и ошибки в строках.
ОткрытьГенератор MAC-адресовСоздайте случайные локальные MAC-адреса с заданным префиксом, разделителем и регистром. Криптографический генератор браузера.
ОткрытьИзвлечение доменов из URLИзвлеките доменные имена из списка ссылок, удалите www и дубли, отсортируйте результат. Обработка выполняется в браузере.
ОткрытьСвязанные технические инструменты
Вопросы и ответы
Годятся ли эти строки для паролей?
Да. Символы берутся из криптографического генератора браузера, поэтому предсказать следующий по предыдущим нельзя. Для пароля включите все четыре набора и возьмите длину от 16.
Строки где-то сохраняются?
Нет. Генерация идёт в браузере, ничего не уходит на сервер и не остаётся после закрытия вкладки. Скопированное живёт только в буфере обмена вашего компьютера.
Чем это отличается от Math.random?
Math.random даёт псевдослучайную последовательность: зная состояние генератора, следующие значения можно вычислить. Web Crypto API берёт энтропию у операционной системы, и такой предсказуемости у него нет.
Ещё инструменты для кода и данных
Base64 и URL, форматтер и сравнение JSON, хеши, регулярные выражения, cron, подсети, UUID, QR-код и Unix-время — в разделе 42 инструмента.