Как придумать стойкий пароль

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

Метод парольной фразы

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

Важно, чтобы слова были именно случайными, а не из песни или поговорки. «Жили у бабуси два весёлых гуся» — плохо, это есть в словарях фраз.

Чего избегать

  • Личных данных: имя, дата рождения, кличка собаки, номер телефона. Всё это легко найти в соцсетях.
  • Простых замен: P@ssw0rd не обманет программу — замены букв на похожие символы давно учтены в словарях.
  • Клавиатурных узоров: qwerty, 1q2w3e, zxcvbn — они в первых строчках любого списка.
  • Коротких паролей: меньше 12 символов сегодня уже мало.

Простое правило длины

Стремись к 12–16 символам минимум. Для самых важных аккаунтов (почта, банк, основной игровой профиль) — ещё длиннее. Почта особенно важна: через неё восстанавливают пароли от всего остального.

Проверим надёжность пароля кодом

Этот скрипт грубо оценивает пароль по длине и разнообразию символов. Он не отправляет ничего в интернет — всё считается прямо в браузере. Попробуй подставить свои варианты в список passwords.

def score_password(pw):
    score = 0
    if len(pw) >= 12: score += 2
    elif len(pw) >= 8: score += 1
    if any(c.islower() for c in pw): score += 1
    if any(c.isupper() for c in pw): score += 1
    if any(c.isdigit() for c in pw): score += 1
    if any(not c.isalnum() for c in pw): score += 1

    weak = {"123456", "qwerty", "password", "111111", "iloveyou"}
    if pw.lower() in weak:
        return 0, "в списке самых частых паролей"

    labels = {0: "очень слабый", 1: "очень слабый", 2: "слабый",
              3: "средний", 4: "неплохой", 5: "хороший", 6: "отличный"}
    return score, labels[min(score, 6)]

passwords = ["123456", "Summer2024", "сосна-трамвай-варенье-72"]
for pw in passwords:
    s, label = score_password(pw)
    print(f"{pw:<28} -> {s}/6  ({label})")

Вывод:

123456                       -> 0/6  (в списке самых частых паролей)
Summer2024                   -> 5/6  (хороший)
сосна-трамвай-варенье-72     -> 5/6  (хороший)

Обрати внимание: Summer2024 формально набирает высокий балл, но на деле предсказуем — это популярный шаблон «слово + год». Автоматическая оценка не идеальна, поэтому полагайся на правило случайных слов и достаточной длины.

А запоминать-то как?

Не нужно держать в голове десятки паролей. В следующем уроке мы разберём менеджеры паролей — программы, которые помнят всё за тебя. А в голове достаточно оставить один длинный мастер-пароль.

Проверьте себя
1. Какой пароль самый надёжный из перечисленных?
AP@ssw0rd
BДата твоего рождения наоборот
Cоблако-ferzь-noskи-414
D1q2w3e4r
Поддержать проект