Генератор паролей

Задайте длину и виды символов и скопируйте пароль, созданный защищённым генератором случайных чисел вашего браузера. Ничего не отправляется и не сохраняется.

Вид
Какие символы использовать
Ваш пароль Создаём пароль в вашем браузере…
Надёжность
Очень надёжный
Энтропия
125 бит
Время подбора
Дольше, чем существует Вселенная
Возможных символов
77

Время подбора — среднее для атакующего, который перебирает 10 млрд вариантов в секунду, примерно столько, сколько выдаёт связка видеокарт при быстром хеше. Медленный хеш, например bcrypt, увеличивает его во много раз.

Настраиваете новый сервер? Используйте разные пароли для учётной записи root, базы данных и панели управления. Сейчас от 3,02 € в месяц, на выбор: 2 226 серверов.

Работает в вашем браузере: ничего из введённого не отправляется на сервер.

Как создаётся пароль

Каждый символ выбирается случайно из разрешённых вами символов с помощью криптографического генератора случайных чисел браузера (crypto.getRandomValues). Случайные значения, из-за которых некоторые символы стали бы вероятнее, отбрасываются и выбираются заново, поэтому все символы равновероятны. Если выбрано несколько видов символов, в пароле всегда есть хотя бы один символ каждого вида.

энтропия = длина × log2(возможных символов)
парольная фраза = слов × log2(слов в списке)
время подбора = 2^(энтропия − 1) ÷ попыток в секунду

Энтропия измеряет, сколько попыток нужно атакующему. Каждый лишний бит удваивает их число, поэтому длина важнее специальных символов: 20 букв и цифр надёжнее, чем 12 символов со всеми спецсимволами. Парольную фразу из случайных слов проще набирать и запоминать, и чтобы она сравнялась по стойкости со случайным паролем из 12 символов, нужно около семи слов.

Пример

Пароль из 16 символов, составленный из заглавных и строчных букв и цифр, использует 62 возможных символа: 16 × log2(62) ≈ 95 бит. При 10 млрд попыток в секунду его подбор занимает в среднем около 76 млрд лет. Шесть случайных слов из списка в 1296 слов дают 62 бита, около 7 лет при той же скорости.

Создать на сервере

На сервере Linux случайный пароль можно создать и без браузера. Любая из этих команд выведет один; pwgen, возможно, придётся сначала установить (apt install pwgen).

shell
openssl rand -base64 24
pwgen -s 24 1
head -c 18 /dev/urandom | base64

Вопросы

Безопасно ли пользоваться этим генератором паролей?

Да. Пароль создаёт криптографический генератор случайных чисел вашего браузера после загрузки страницы. Он никогда не отправляется на наш сервер и не сохраняется, а страница работает так же и при отключённой сети.

Какой длины должен быть пароль сервера?

Не меньше 16 случайных символов, а для всего, что доступно из интернета, например пароля root, базы данных или панели, — 20 и больше. Для SSH используйте ключ вместо пароля и отключите вход по паролю.

Парольная фраза лучше случайного пароля?

Её проще набирать и запоминать, и она так же стойка, если достаточно длинная: семь случайных слов из этого списка дают около 72 бит. Выбирайте слова случайно, как здесь; фразу, которую вы придумали сами, угадать гораздо проще.

Почему некоторых символов нет?

Кавычки, обратные слеши, пробелы, $ и # ломают команды оболочки, файлы .env и строки подключения, если их не экранировать. Предлагаемые здесь символы почти везде работают без кавычек. Если нужна большая стойкость, увеличивайте длину, а не добавляйте символы.