Common questions from users about leaked password databases, k-anonymity, credential stuffing, and password security best practices
Is it safe to check my password with this tool?
Yes -- this tool uses the k-anonymity model from the Have I Been Pwned Pwned Passwords API, which was co-designed by security researcher Troy Hunt and Cloudflare specifically to make breach checking safe. Your browser computes a SHA-1 hash of your password locally and sends only the first 5 characters of that 40-character hash to the API over HTTPS. The server returns all hash suffixes that start with those 5 characters -- typically 400 to 900 results. Your browser then checks locally whether your full hash suffix is in the returned list. Your actual password and the full hash are never transmitted to any server under any circumstances.
What is k-anonymity and how does it protect my password?
K-anonymity is a privacy preservation technique that ensures your specific query cannot be distinguished from many other queries. When you send only a 5-character prefix of a 40-character SHA-1 hash, the server receives a query that matches hundreds of possible different passwords -- it is mathematically impossible for the server to determine which specific password you are checking. The server returns all matching hash suffixes and your browser performs the final comparison locally. This design means the HIBP API operator, network observers, and any intermediary could never learn which password you checked, even if they logged every request.
What is Have I Been Pwned and how does the Pwned Passwords database work?
Have I Been Pwned (HIBP) is a free data breach aggregation service created by security researcher Troy Hunt in 2013. It collects password hashes from hundreds of publicly known data breaches and makes them searchable without exposing the actual passwords. The Pwned Passwords dataset contains over 800 million real-world password hashes derived from breaches at companies including LinkedIn, Adobe, Yahoo, RockYou, and many others. The dataset is freely downloadable for offline use or accessible via the k-anonymity API. Finding your password in this database means it was directly leaked in at least one known breach and is now in the wordlists used by attackers in credential stuffing and dictionary attacks.
My password was not found -- does that mean it is safe to use?
Not found in the HIBP database means this exact password string has not appeared in any breach dataset that HIBP has indexed -- it does not mean the password is strong, secure, or resistant to other attacks. A password can be short, dictionary-based, predictable, or easily brute-forced without ever having been directly leaked in a breach. Passwords like 'Abc123!' or 'Summer2024' are not in breach databases but would be cracked instantly by any modern password attack tool. Always use a long, randomly generated unique password of at least 16 characters for every account, regardless of the breach check result.
What should I do immediately if my password is found in a breach?
Change the breached password immediately on every account where you use it -- not just the one you were thinking of, since password reuse is extremely common. Generate a unique, randomly generated password for each account using a password manager like Bitwarden (free and open source), 1Password, or Dashlane. Enable two-factor authentication (2FA) on every account that supports it, prioritising email, banking, and social media. If your email account password was breached, treat every account that uses that email address for password reset as potentially compromised and change those passwords too. Check your email address at haveibeenpwned.com to see which breaches it appeared in.
How does SHA-1 hashing protect my password in this process?
SHA-1 is a one-way cryptographic hash function -- given a password like 'hunter2', it produces a fixed-length 40-character hexadecimal string, but it is computationally infeasible to reverse the hash back to the original password. When this tool computes the SHA-1 hash of your password locally in your browser, the hash itself reveals nothing useful about the password to an observer who sees only the first 5 characters. SHA-1 is no longer considered secure for new cryptographic applications because of collision vulnerabilities, but for this specific use case -- indexing known compromised passwords in a breach database -- it provides completely adequate privacy protection because the k-anonymity model means the full hash is never transmitted.
What is credential stuffing and why does a breached password make it dangerous?
Credential stuffing is an automated cyberattack where attackers take username and password combinations leaked in one breach and systematically test them against hundreds of other websites and services. Because most people reuse the same password across multiple accounts, a single breach at one company can give attackers access to the victim's accounts at banks, email providers, social networks, and e-commerce sites. Tools that perform credential stuffing can attempt thousands of logins per second across multiple platforms simultaneously. If your password appears in a breach database with even a small count, it is already in the wordlists used by these automated tools and any account using that password is actively at risk.
How often should I check my passwords for breaches?
Run a breach check whenever you create a new password to confirm it has not already been compromised, when you hear about a major data breach at a company where you have an account, and periodically (every 6 to 12 months) for your most sensitive accounts. Password managers like Bitwarden and 1Password now offer automated breach monitoring that continuously checks your stored passwords against updated breach databases and alerts you when any of them appear in new breach disclosures. For business accounts and developer environments, consider integrating the HIBP API directly into account creation flows to prevent users from setting already-compromised passwords.
Can I use this to check passwords for my users or application?
Yes -- the Have I Been Pwned Pwned Passwords API is publicly available and free for reasonable use. For application integration, you can implement the same k-anonymity model: hash the user's password with SHA-1 at input time, send the 5-character prefix to the API, and check if the returned suffixes include a match before allowing the password to be set. This is now recommended by NIST (National Institute of Standards and Technology) in their digital identity guidelines (SP 800-63B), which explicitly state that new passwords should be checked against known compromised password lists. Many authentication libraries and identity platforms have built-in HIBP integration.
What is the difference between a password breach check and a password strength check?
A password breach check searches a database of real-world leaked passwords to determine if your exact password has been exposed in a known data breach -- it is backward-looking and factual. A password strength check analyses the structural properties of a password (length, character variety, entropy, common patterns) to estimate how difficult it would be to crack by brute force or dictionary attack -- it is predictive and probabilistic. Both checks serve different purposes and neither is a substitute for the other. A password can be structurally strong (long, random-looking) but still appear in breach databases if it was previously used and leaked. The ideal approach is to use a randomly generated password that passes both checks.