← Ко всем open source проектам

zxcvbn

dropbox/zxcvbn

zxcvbn — оценщик надежности паролей, вдохновленный подходами password cracking.

Форки 998
Автор dropbox
Язык CoffeeScript
Лицензия MIT
Обновлено 2026-06-27

Что это такое

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

Проект предлагает альтернативу раздражающим правилам вроде “обязательно три типа символов”. Вместо этого сайт может требовать минимальную оценку сложности и давать пользователю более понятную обратную связь.

Что внутри

zxcvbn распознает распространенные пароли, имена, фамилии, популярные английские слова, даты, повторения, последовательности, клавиатурные шаблоны и leet-запись.

Результат включает оценку и примерные сценарии подбора: онлайн-атака с ограничением попыток, онлайн-атака без ограничения и офлайн-подбор. Это помогает объяснить риск не только числом.

Как используют

Библиотеку подключают в форме регистрации или смены пароля. Пользователь вводит пароль, а интерфейс показывает, достаточно ли он устойчив и какие части выглядят предсказуемо.

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

Пример

Пример показывает базовую проверку в JavaScript: пароль получает оценку, а приложение решает, пропускать ли его дальше.

Оценка пароля

Пример показывает, как получить численную оценку и использовать ее в форме регистрации.

Язык: JavaScript
import zxcvbn from "zxcvbn";

const result = zxcvbn(password);
if (result.score < 3) {
  showWarning(result.feedback.warning || "Choose a stronger password");
}

Сильные стороны и ограничения

Сильная сторона zxcvbn — реалистичность. Он лучше видит слабые “сложные” пароли вроде замены букв символами, чем простая проверка состава строки.

Ограничение — размер и контекст. Словари и эвристики не знают всех локальных привычек пользователя, поэтому библиотека должна дополнять, а не заменять общую модель безопасности.

Контекст проекта

zxcvbn ведется в репозитории dropbox/zxcvbn; публичная история проекта начинается 2012-02-28. Основной язык, который показывает GitHub, — CoffeeScript, лицензия — MIT. Есть отдельный сайт проекта: https://www.usenix.org/conference/usenixsecurity16/technical-sessions/presentation/wheeler.

Для страницы каталога это важно как практический контекст: читатель видит не абстрактное название, а реальный проект с владельцем, лицензией, технической базой и открытой историей изменений.