Генератор цифровых паролей и PIN-кодов

Случайный код из 4–12 цифр. Создаётся в браузере и никуда не отправляется.

Ваш PIN-код

Создаём PIN-код…

Настройки PIN-кода

Чем цифровой пароль отличается от пароля из символов

Только размером набора, из которого выбирается каждый знак. У цифр он равен десяти, у латинских букв, цифр и знаков — 55 или 71. Это разница примерно в 2,5 бита на каждый знак.

Одна цифра даёт около 3,3 бита, один символ из полного набора — около 5,8. Поэтому шестизначный PIN (19,9 бита) слабее даже четырёхсимвольного пароля из букв и знаков (23,1 бита). Цифры выигрывают не стойкостью, а совместимостью: их набирают на кнопочном телефоне, домофоне, кодовом замке и сейфе, где других клавиш нет.

Отсюда практическое правило: цифровой код выбирают там, где набор знаков задан устройством, а не там, где можно взять буквы. Если сервис принимает буквы — берите пароль из символов: на той же длине он даст почти вдвое больше бит.

Сколько цифр достаточно

Каждая следующая цифра умножает число вариантов в десять раз, то есть добавляет около 3,3 бита. Но в таблице стоит не «10 в степени», а реальный набор: генератор не выдаёт предсказуемые коды, поэтому вариантов меньше, чем кажется.

Цифр Годных кодов Стойкость Где уместен
4 9 315 13,2 бита Только при блокировке после нескольких попыток.
6 961 762 19,9 бита Телефон, SIM-карта, домофон.
8 ≈ 99,9 млн 26,6 бита Сейф, кодовый замок, где код вводят руками.
12 ≈ 999 млрд 39,9 бита Там, где код задают редко и есть лимит попыток.

Для 4, 5 и 6 цифр доля годных кодов посчитана полным перебором — это проверяемо. Для 8 и 12 цифр перебрать триллион вариантов в браузере нельзя, поэтому в оценке заложено 99,9 % годных: отсев на длинных кодах пренебрежимо мал. Числа в таблице сверены с движком тестом, а не вписаны вручную.

Какие коды генератор не выдаёт

Не потому, что они «недостаточно случайны», а потому, что их проверяют первыми. Отсев — это не улучшение случайности, а защита от самых частых догадок.

Отбрасываются четыре группы:

  • Одинаковые цифры: 0000, 777777.
  • Последовательности: 1234, 9876, 456789 — как вверх, так и вниз.
  • Повторы: 1212, 123123 — код, собранный из короткого куска, повторённого целиком.
  • Похожее на дату: для четырёх цифр это ДДММ (0101–3112) и годы 1900–2099, для шести — коды, первые четыре цифры которых читаются как день и месяц. Плюс небольшой список известных комбинаций вроде 2580.

Отсев сужает набор, и это видно в числах. Из 10 000 четырёхзначных кодов остаётся 9 315 — отброшено 685, или 6,85 %. Из миллиона шестизначных остаётся 961 762 — отброшено 38 238, или 3,82 %. Поэтому стойкость четырёхзначного кода 13,2 бита, а не 13,3: считать её по всем 104 вариантам было бы неправдой. Внутри оставшегося набора каждый код равновероятен — генератор перевыбирает строку, пока она не пройдёт проверку.

Отсев не спасает от личной даты

Если ваш день рождения — 12 марта, код 1203 генератор не выдаст, но и вы не должны выбирать его сами. Человек, который вас знает, проверит эту дату первым делом — и никакая стойкость набора тут не поможет.

Где PIN уместен, а где нет

Уместен: блокировка телефона, PIN-код SIM-карты, домофон, кодовый замок подъезда, сейф. Общее у них одно — попытки кончаются. Устройство блокируется после нескольких неверных вводов, поэтому подбирать код бесконечно не получится, и 13 бит превращаются в непреодолимый барьер.

Не уместен как единственный пароль важного онлайн-аккаунта: почты, банка, менеджера паролей. Там нет физического замка, зато есть сервер, который может оказаться без лимита попыток, и база, которую могут украсть. Для аккаунтов берите 16 символов и больше.

PIN банковской карты генератор не устанавливает. Часть банков разрешает задать свой PIN в приложении или банкомате, часть выдаёт код готовым — это решают правила конкретного банка, а не этот сайт. И не любой сейф или домофон примет придуманный вами код: формат задаёт устройство, а некоторые модели разрешают только смену заводского кода по инструкции.

Почему лимит попыток важнее длины

Четырёхзначный код — это 9 315 годных вариантов. Много это или мало, зависит не от кода, а от того, сколько раз его можно ввести.

Если проверка не ограничена, а сервер принимает 100 попыток в секунду, четырёхзначный код подбирается меньше чем за минуту, шестизначный — примерно за час с небольшим. Это не гипотеза: скорости взяты из измерений, а не из «хакерских» роликов.

Если после пяти неверных вводов устройство блокируется, счёт меняется. Пять попыток из 9 315 — это 0,05 %. Пять попыток из 961 762 — 0,0005 %. Разница между 4 и 6 цифрами остаётся, но оба варианта перестают быть проблемой. Поэтому вопрос «сколько цифр хватит» правильнее звучит так: «сколько попыток даёт устройство и блокируется ли оно после них».

Частые вопросы

Можно ли поставить этот код на банковскую карту?

Сам генератор PIN на карту не устанавливает — он только создаёт код. Дальше всё решает банк: одни позволяют задать свой PIN в приложении или банкомате, другие выдают готовый. Если ваш банк разрешает выбрать код самому, сгенерированный подойдёт; если нет — нет.

Для остального генератор подходит напрямую: блокировка телефона, SIM-карта, домофон, кодовый замок, сейф. Но проверьте инструкцию устройства — некоторые модели принимают только код определённой длины или не разрешают убрать заводской.

Почему среди вариантов нет 1234, 0000 или 1212?

Это самые частые догадки, и их проверяют первыми. Генератор отбрасывает коды из одинаковых цифр, возрастающие и убывающие последовательности, повторы короткого куска, комбинации, похожие на дату, и небольшой список известных кодов.

Отсев уменьшает набор: из 10 000 четырёхзначных кодов остаётся 9 315. Стойкость считается по остатку — 13,2 бита, — а не по всем 104.

Насколько 6 цифр надёжнее 4?

На 6,7 бита: 13,2 против 19,9. Каждые две цифры умножают число вариантов примерно в сто раз, потому что десять вариантов на позицию в квадрате дают сто.

На практике разница видна только там, где нет блокировки: четырёхзначный код при 100 попытках в секунду подбирается меньше чем за минуту, шестизначный — за час с небольшим. С блокировкой после пяти попыток оба варианта безопасны, и длинный код нужен только там, где его требует само устройство.

Дальше