zxcvbn — умная оценка сложности пароля без глупых правил
Репозиторий давно не обновлялся
Последнее обновление было 2 года назад.
Знакомая ситуация? При регистрации на очередном сервисе вас заставляют придумать пароль, содержащий минимум одну цифру, спецсимвол и заглавную букву. В итоге получается что-то вроде P@ssword1 — формально соответствует требованиям, но на деле очень уязвимый вариант.
Разработчики Dropbox предложили более разумный подход с библиотекой zxcvbn, которая оценивает реальную стойкость пароля, а не просто проверяет соблюдение искусственных правил.
Как работает zxcvbn
В отличие от примитивных валидаторов, zxcvbn:
- Использует обширные словари (30k популярных паролей, фамилий, слов из кино и ТВ)
- Распознает паттерны: даты, повторы (
aaa), последовательности (abcd), раскладку клавиатуры (qwerty) - Оценивает время взлома в разных сценариях (онлайн-атаки, оффлайн-перебор)
- Дает понятные рекомендации, как улучшить пароль
Пример работы:
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 о стойкости паролей.
