Проверка пароля по базам утечек
Узнайте, встречался ли ваш пароль в известных утечках. Наружу уходят только первые пять символов его хеша — по ним нельзя понять, что вы проверяли.
Как устроено
Почему пароль остаётся у вас
Схема называется k-анонимностью и работает так. Браузер считает SHA-1 пароля — например, 5BAA61E4C9B93F3F…. Наружу отправляются только первые пять символов: 5BAA6.
В ответ приходит список из нескольких сотен окончаний хешей, которые начинаются с этих пяти символов, вместе с числом упоминаний каждого. Ваше окончание ищется среди них здесь же, в браузере.
Сервис на той стороне видит запрос «отдай всё, что начинается на 5BAA6». Под этот префикс подходят десятки тысяч разных паролей, и какой из них вас интересовал — по запросу понять невозможно. Мы дополнительно просим добить ответ пустыми строками, чтобы даже его размер ничего не подсказывал.
Проверка запускается только по кнопке. Если бы она срабатывала при вводе, каждое нажатие клавиши отправляло бы новый префикс — и по цепочке таких запросов набранное можно было бы восстановить.
Что делать с ответом
Пароль нашёлся в утечках
Это не «возможно скомпрометирован», а точно: комбинация лежит в открытых базах, которыми пользуются переборщики. Число рядом показывает, сколько раз она встретилась — чем оно больше, тем выше пароль в их списках и тем раньше его пробуют.
Порядок действий. Смените пароль везде, где он использовался, начиная с почты — через неё восстанавливают доступ ко всему остальному. Включите двухфакторную защиту. Проверьте активные сессии и привязанные устройства.
Не переставляйте символы. «Лето2024!» → «Лето2024!!» не помогает: правила подстановки в переборщиках учитывают такие вариации в первую очередь. Нужен новый случайный пароль.
Пароля нет в базе
Это значит только, что он не попадал в известные утечки — и ничего не говорит о стойкости. «Кирилл2015» может отсутствовать в базах и при этом подбираться за минуты. Оценить стойкость поможет проверка пароля: она считает энтропию и ищет шаблоны, полностью офлайн.
Вопросы
Частые вопросы
Пароль всё-таки уходит на чужой сервер?
Нет. В браузере считается SHA-1 пароля, и наружу отправляются только его первые пять символов. В ответ приходит список из сотен окончаний хешей, начинающихся с этих пяти символов, и совпадение ищется уже у вас в браузере. Сервис на той стороне видит запрос вида «дай всё на 5BAA6» и не может понять, какой из тысяч паролей вас интересовал. Схема называется k-анонимностью.
Что означает «пароль найден 12 345 раз»?
Столько раз эта комбинация встретилась в собранных утечках. Чем больше число, тем выше он в списках у переборщиков — такие пароли пробуют первыми. Даже одно совпадение означает, что пароль скомпрометирован и его надо менять везде, где он использовался.
Пароля нет в базе — значит он надёжный?
Нет, это разные вещи. Отсутствие в базе означает лишь, что он не попадал в известные утечки. Пароль «Кирилл2015» может там не встречаться и при этом подбираться за минуты. Стойкость смотрите на странице проверки пароля, а здесь — только историю утечек.
Почему проверка не запускается сама при вводе?
Потому что тогда с каждой нажатой клавишей уходил бы новый запрос, и по цепочке таких запросов можно было бы восстановить, что вы набирали. Проверка начинается только после нажатия кнопки — ровно один запрос на один пароль.
Можно ли отключить эту проверку совсем?
Да. Это единственный инструмент сайта, который обращается к внешнему сервису. Если вам это не подходит, владелец сайта может очистить параметр breach_api в config.php — страница исчезнет, а остальные инструменты продолжат работать полностью офлайн.
Дальше