Wordlists
Attackers try common passwords from lists (“password”, “123456”, “letmein”, …) and hash each candidate.
Understand how passwords are stored, how attackers guess them, and how defenders make cracking impractical.
A hash is a one-way function that turns a password into a fixed-size string (e.g., MD5, SHA-1). Servers store the hash, not the password. If an attacker gets the database, they try to find a password that produces the same hash.
Attackers try common passwords from lists (“password”, “123456”, “letmein”, …) and hash each candidate.
A random string added before hashing (hash(salt + password)) to defeat rainbow tables and reuse across users.
Slow, memory-hard algorithms (PBKDF2, bcrypt, scrypt, Argon2) raise cracking cost.
Adopt PBKDF2, bcrypt, scrypt, or Argon2 with high iteration/cost.
Unique, random salt per user (≥ 16 bytes). Store salt alongside the hash.
MFA, account lockouts, and strong password policies (length, complexity, block common passwords).
Ready to practice? Try the Password Cracking Challenge