HHHH-HHHHГенерируйте случайную строку по этому шаблону. Каждый символ-код заполняется случайным значением соответствующего типа.
HHHH-HHHHШаблон — это строка, в которой каждый символ является либо кодом, который инструмент заменяет случайным значением, либо литералом, который остаётся без изменений. Четыре символа-кода покрывают все основные потребности: L выбирает из 26 заглавных букв английского алфавита, l — из 26 строчных, D — из 10 цифр, а H — из 16 шестнадцатеричных символов (0–9 и a–f). Дефисы, подчёркивания и точки сохраняются как разделители. Всё остальное исключено, чтобы шаблоны оставались чистыми, а URL — безопасными.
Общее количество возможных результатов — это произведение вариантов для каждой позиции. Один L даёт 26 возможностей. Три подряд (LLL) дают 26 × 26 × 26 = 17 576. Добавьте -DDD, и общее число станет 17 576 × 1 000 = 17 576 000 различных строк. Каждый дополнительный символ-код умножает пространство: ещё один L расширяет его в 26 раз, ещё один D — в 10 раз. 12-символьный шаблон из одних букв имеет 2612 ≈ 95 триллионов вариантов. При одной генерации в секунду перебор всех комбинаций занял бы более трёх миллионов лет.
Показатель энтропии в панели статистики отображает эту комбинаторику в виде одного числа: битов случайности. Каждый бит удваивает пространство возможностей. 6-значный цифровой PIN (DDDDDD) имеет ~19,9 бит. 12-символьный смешанный шаблон (LLLlllDDDDDD) имеет ~59,8 бит. Для справки: надёжный пароль обычно требует не менее 60 бит энтропии.
Шаблоны создают структурированную случайность. Серийные номера (LLL-DDDDDD), коды подтверждения (LLDDLLDD), временные токены доступа (HHHHHHHH), тестовые данные для форм, условные номерные знаки (LL-DDDD), идентификаторы версий (D.D.D), макеты MAC-адресов (HH.HH.HH.HH.HH.HH). Шаблон описывает структуру. Браузер заполняет каждую позицию независимо через Web Cryptography API. Результат готов к копированию и гарантированно соответствует вашей спецификации.
Генерация по шаблону превращает комбинаторику из абстрактного умножения в наглядное исследование. Предложите ученикам перейти на /pattern/LD (одна буква, одна цифра: 260 комбинаций) и сгенерировать десять результатов. Попросите их предсказать, сколько генераций потребуется до появления дубликата. Затем попробуйте /pattern/LLD (6 760 комбинаций). Парадокс дней рождения становится осязаемым: при 260 вариантах дубликат обычно появляется в пределах ~20 генераций. При 6 760 вариантах для этого потребуется более 100. Ученики непосредственно наблюдают мультипликативный рост.
Каждый символ каждой сгенерированной строки создаётся с помощью Web Cryptography API вашего браузера. Сервер отдаёт эту страницу — и на этом его работа завершена. Ваши сгенерированные строки, история и счётчик генераций остаются в вашем браузере. Сервер ничего не хранит. Поделившись URL, вы делитесь шаблоном, но никогда — сгенерированными результатами. Браузер каждого получателя генерирует полностью независимые результаты на основе энтропии собственного устройства.
Шаблон — это сам путь URL:
Выберите готовый вариант или введите свой шаблон, используя L, l, D, H и разделители (- _ .).
Отправьте эту ссылку. Получатель увидит тот же шаблон, но свой случайный результат.
Ежедневное вдохновение
Работы, отобранные жюри A' Design Award, представленные каждое утро.