Penggunaan ulang kata sandi sangat bermasalah. Sangat disayangkan, bahwa orang-orang tidak mengetahui risiko yang terlibat untuk akun dan data mereka. Penyerang menggunakan alamat email dan kata sandi dari pelanggaran sebelumnya dan mencoba mendapatkan akses ke situs web lain. Manajer kata sandi yang menghasilkan kata sandi acak adalah langkah sempurna untuk melawan serangan tersebut, dengan menghasilkan kata sandi acak untuk setiap situs web. Tapi bagaimana dengan semua kata sandi lama tersebut? Kami baru saja merilis fitur baru, yang memungkinkan pengguna untuk memeriksa kata sandi mereka terhadap basis data besar dengan bantuan haveibeenpwned.com. Dengan alat baru ini, dimungkinkan untuk memeriksa kata sandi terhadap kumpulan data dari hampir 5 miliar akun dengan kata sandi.
Layanan Pwned Passwords dibuat pada Agustus 2017 setelah NIST merilis panduan yang secara khusus merekomendasikan agar kata sandi yang diberikan pengguna diperiksa terhadap pelanggaran data yang ada. Alasan dari nasihat ini dan saran tentang bagaimana aplikasi dapat memanfaatkan data ini dijelaskan secara detail dalam posting blog berjudul Memperkenalkan 306 Juta Kata Sandi Pwned yang Dapat Diunduh Secara Gratis. Pada Februari 2018, versi 2 dari layanan ini dirilis dengan lebih dari setengah miliar kata sandi, masing-masing sekarang juga dengan hitungan berapa kali mereka telah terlihat terekspos.
(Sumber: https://haveibeenpwned.com/Passwords)
Sebuah video kecil memberikan pemahaman yang lebih baik tentang cara kerjanya. API menunjukkan kemajuan analisis. Karena ini adalah layanan gratis, kami menghormati pembatasan dan tidak ingin menyebabkan kerugian, sehingga permintaan dibatasi satu permintaan setiap 1,5 detik.
Pada langkah pertama, semua rahasia yang berisi kata sandi Anda diunduh dari server. Pada langkah kedua, setiap rahasia didekripsi di peramban Anda sebelum hash sha1 dari kata sandi dibuat. Hash sha1 memiliki panjang 160 bit (40 karakter dalam hex). Hash sha1 dipecah menjadi prefiks (5 karakter hex) dan sufiks (35 karakter hex). Prefiks dikirim ke API haveibeenpwned.com yang memeriksa basis datanya dan mengembalikan daftar sufiks. Klien akan membandingkan sufiks dari kata sandi dengan daftar sufiks yang diterima dan menandai kata sandi tersebut sebagai telah dilanggar atau tidak. Ini adalah cara yang efisien untuk melakukan pencarian pada basis data kata sandi, tanpa benar-benar mengirimkan kata sandi (atau turunan lemah) dan dikenal sebagai k-anonimisasi.