Password hashing and salting visualizer
See what a leaked user table reveals with no salt, one site-wide salt, and per-account salts, using real SHA-256 hashes computed in your browser.
Goal
A copy of the user table has leaked. Eight accounts are shown with their passwords so you can see what the attacker cannot: who chose the same password and who chose a common one.
Switch between storage schemes and watch what the stolen hashes reveal. You can also type a password of your own to add a ninth account. Hashes are computed in your browser and never sent anywhere.
Storage scheme
- Shared hashes
- 5 accounts
- Table hits
- 6 instantly
- Attacker work
- 0 hashes for a 12-word list
| Account | Stored value | Precomputed table |
|---|---|---|
| anapassword: Summer2026! | a5c95e887dbf1c0a49fd01bced847d64a1a134ec2a7d09332c85d361aeb0f9b8same as 2 others | cracked: Summer2026! |
| benpassword: password1 | 0b14d501a594442a01c6859541bcb3e8164d183d32937b851835442f69d5c94esame as 1 other | cracked: password1 |
| chenpassword: Summer2026! | a5c95e887dbf1c0a49fd01bced847d64a1a134ec2a7d09332c85d361aeb0f9b8same as 2 others | cracked: Summer2026! |
| danapassword: correct horse battery staple | c4bbcb1fbec99d65bf59d85c8cb62ee2db963f0fe106f483d9afa73bd4e39a8a | no match |
| elipassword: Summer2026! | a5c95e887dbf1c0a49fd01bced847d64a1a134ec2a7d09332c85d361aeb0f9b8same as 2 others | cracked: Summer2026! |
| fatimapassword: lab-only-Vq8#tR2m | daa405b8728734519597183330c120531a2c2d11978bde6b77995c8ec75fbfe1 | no match |
| guspassword: password1 | 0b14d501a594442a01c6859541bcb3e8164d183d32937b851835442f69d5c94esame as 1 other | cracked: password1 |
| hanapassword: letmein | 1c8bfe8f801d79745c4631d09fff36c82aa37fc4cce4fc946683d7b336b63032 | cracked: letmein |
5 accounts share a stored hash and 6 fall to the precomputed table.
Steps
01Pick a storage scheme where no two accounts share a stored hash and the attacker’s precomputed table cracks nothing instantly.
Do this in the workbench above. This step completes itself when the condition is met.
02With no salt, how many accounts share the most common stored hash?
03A single site-wide salt defeats the precomputed table. Why is it still weak?
04With per-account salts, how many hash computations does the attacker need to try the 12-word list against all 8 accounts?
05Even with per-account salts, six accounts use passwords from the attacker’s list. What protects them?