Что такое генератор случайного PIN-кода?
Этот инструмент создаёт случайный PIN-код (Personal Identification Number, личный идентификационный номер) — последовательность цифр, которую используют для банковских карт, входа в онлайн-банк, блокировки телефона и других защитных кодов. Вы сами задаёте количество цифр (от 1 до 100) и решаете, может ли одна и та же цифра встречаться несколько раз. При каждом запуске генератор выдаёт новый случайный код.
Как пользоваться
Укажите нужную длину PIN-кода в поле «Длина PIN-кода в цифрах» — чаще всего это 4 или 6 цифр. Оставьте галочку «Разрешить повтор цифр», чтобы цифры могли повторяться (стандартный вариант), или снимите её, чтобы каждая цифра была уникальной. Нажмите «Рассчитать» — и код готов. Поскольку результат это строка цифр, ведущие нули сохраняются: «036784» — вполне корректный шестизначный PIN.
Как устроена формула
Если повторы разрешены, каждая позиция заполняется независимым равномерным выбором: \(d = \lfloor \text{rand}() \times 10 \rfloor\), где \(\text{rand}()\) возвращает значение в диапазоне \([0,1)\). Так каждая цифра от 0 до 9 получает одинаковую вероятность \(\tfrac{1}{10}\), а всего возможно вариантов PIN-кодов
$$N_{\text{possible}} = 10^{\,\text{PIN Length}}$$Если повторы запрещены, десять цифр [0–9] перемешиваются алгоритмом Фишера–Йейтса, после чего берутся первые \(N\) — поэтому все цифры разные; число вариантов равно числу размещений
$$N_{\text{possible}} = \frac{10!}{\left(10 - \text{PIN Length}\right)!}$$Так как уникальных цифр всего десять, PIN без повторов может быть максимум 10-значным — для большей длины инструмент автоматически разрешает повторы.
Разбор примера
Возьмём длину 6 с разрешёнными повторами и предположим, что случайные дроби равны \(0{,}36,\ 0{,}61,\ 0{,}38,\ 0{,}74,\ 0{,}85,\ 0{,}42\). Умножаем каждую на 10 и отбрасываем дробную часть — получаем \(3, 6, 3, 7, 8, 4\), то есть PIN «363784». Обратите внимание: цифра 3 повторяется, и это допустимо. Для длины 4 без повторов перемешанный набор [0–9] может начинаться с [7, 2, 9, 0, …]; берём первые четыре цифры и получаем «7290» — все они разные.
Частые вопросы
Может ли PIN начинаться с нуля? Да. Результат обрабатывается как текст, поэтому ведущие нули сохраняются и никогда не отбрасываются.
Почему нельзя создать 12-значный PIN без повторов? Уникальных цифр всего десять (0–9). Любой код длиннее десяти цифр неизбежно использует цифры повторно, поэтому инструмент автоматически включает режим с повторами.
Достаточно ли это надёжно для реальных счетов? Генератор использует обычный псевдослучайный алгоритм без криптографических гарантий. Для повседневного удобства он отлично подходит, но для ключей высокого уровня защиты используйте специализированный криптографический инструмент.