Используемая в сервисе полная база паролей доступна для загрузки, размер БД составляет 8.8 Гб в сжатом виде (7-Zip, torrent). Для каждого пароля имеется счётчик дубликатов, указывающий число разных учётных записей, в которых был зафиксирован данный пароль. Общее число паролей без отсеивания дубликатов составляет более 3 миллиардов, т.е. каждый пароль в среднем встречается 6 раз.
На сайте также имеется форма для online-поиска в базе паролей. По словам автора разработки он не перестаёт удивляться людям, которые начинают проверять свои рабочие пароли в стороннем сервисе, несмотря на предупреждение не делать этого. Но общая польза от такой формы проверки перевешивает имеющиеся угрозы - большое число ранее скомпрометированных пользователей, получив информацию, что пароль встречается в базе, скорее всего поменяет пароль и пересмотрят отношение к безопасности (если пользователь отправил свой настоящий пароль через стороннюю web-форму, то найдётся множество других способов скомпрометировать его).
Через API доступен более изощрённый метод проверки, в котором в качестве ключа используется префикс от хэша пароля, в ответ на который сервер выдаёт реальные хэши паролей из базы, а клиент на своей стороне может их сверить со своим полным хэшем. Например, проверим пароль "test" (API выдаёт только хвост хэша SHA-1, без запрошенного префикса):
$ sha1sum
test^D
a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 -
$curl https://api.pwnedpasswords.com/range/a94a8
FE5CCB19BA61C4C0873D391E987982FBBD3:68340
C2E7C76181982FF5D9A3C2B8475B62C1F2D:1
E982397E0E7F0C3E6EED72CFB0D3EBFACD0:2
...
Сравниваем:
a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
FE5CCB19BA61C4C0873D391E987982FBBD3
На сайте также имеется форма для online-поиска в базе паролей. По словам автора разработки он не перестаёт удивляться людям, которые начинают проверять свои рабочие пароли в стороннем сервисе, несмотря на предупреждение не делать этого. Но общая польза от такой формы проверки перевешивает имеющиеся угрозы - большое число ранее скомпрометированных пользователей, получив информацию, что пароль встречается в базе, скорее всего поменяет пароль и пересмотрят отношение к безопасности (если пользователь отправил свой настоящий пароль через стороннюю web-форму, то найдётся множество других способов скомпрометировать его).
Через API доступен более изощрённый метод проверки, в котором в качестве ключа используется префикс от хэша пароля, в ответ на который сервер выдаёт реальные хэши паролей из базы, а клиент на своей стороне может их сверить со своим полным хэшем. Например, проверим пароль "test" (API выдаёт только хвост хэша SHA-1, без запрошенного префикса):
$ sha1sum
test^D
a94a8fe5ccb19ba61c4c0873d391e987982fbbd3 -
$curl https://api.pwnedpasswords.com/range/a94a8
FE5CCB19BA61C4C0873D391E987982FBBD3:68340
C2E7C76181982FF5D9A3C2B8475B62C1F2D:1
E982397E0E7F0C3E6EED72CFB0D3EBFACD0:2
...
Сравниваем:
a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
FE5CCB19BA61C4C0873D391E987982FBBD3