zxcvbn — умная оценка сложности пароля без глупых правил

19 июл 2025

Репозиторий давно не обновлялся

Последнее обновление было 2 года назад.

16,040
996
258
2 года

Знакомая ситуация? При регистрации на очередном сервисе вас заставляют придумать пароль, содержащий минимум одну цифру, спецсимвол и заглавную букву. В итоге получается что-то вроде P@ssword1 — формально соответствует требованиям, но на деле очень уязвимый вариант.

Разработчики Dropbox предложили более разумный подход с библиотекой zxcvbn, которая оценивает реальную стойкость пароля, а не просто проверяет соблюдение искусственных правил.

Как работает zxcvbn

В отличие от примитивных валидаторов, zxcvbn:

  1. Использует обширные словари (30k популярных паролей, фамилий, слов из кино и ТВ)
  2. Распознает паттерны: даты, повторы (aaa), последовательности (abcd), раскладку клавиатуры (qwerty)
  3. Оценивает время взлома в разных сценариях (онлайн-атаки, оффлайн-перебор)
  4. Дает понятные рекомендации, как улучшить пароль

Пример работы:

zxcvbn('Tr0ub4dour&3');
// Возвращает:
{
  guesses: 10000, // примерное число попыток для взлома
  score: 2, // от 0 (очень слабый) до 4 (очень стойкий)
  feedback: {
    warning: 'Этот пароль встречается в словарях',
    suggestions: ['Добавьте еще несколько слов']
  }
}

Ключевые преимущества

✔️ Более безопасно — не пропускает слабые пароли вроде P@ssword1, которые формально соответствуют требованиям

Реклама

✔️ Гибкость — хорошо оценивает разные стили паролей: от сложных фраз до паттернов клавиатуры

✔️ Удобство UX — дает моментальную обратную связь с советами по улучшению

Как подключить

Проще всего через npm:

npm install zxcvbn

Или добавить скрипт в HTML:

<script src="https://cdnjs.cloudflare.com/ajax/libs/zxcvbn/4.4.2/zxcvbn.js"></script>

Где применять

  • Формы регистрации и смены пароля
  • Админ-панели с повышенными требованиями безопасности
  • Внутренние инструменты для сотрудников

zxcvbn — одно из тех редких решений, которое делает интернет одновременно и безопаснее, и удобнее. Если вам надоели глупые правила составления паролей — попробуйте этот подход.

Особенно рекомендую:

  • Разработчикам веб-приложений
  • Администраторам корпоративных систем
  • Всем, кто заботится о реальной безопасности, а не формальном соблюдении правил

P.S. Вдохновлено известным комиксом xkcd о стойкости паролей.

🍪 Мы используем файлы cookie и сервис аналитики Яндекс.Метрика, чтобы сайт работал лучше. Продолжая пользоваться devtrends.ru, вы соглашаетесь с обработкой данных согласно Политике конфиденциальности.