Approach shown: dictionary (rockyou) + best64 rules — tradeoffs: very large wordlist + small rulefile vs small wordlist + large rulefile. Aim for a middle ground based on target.
tldr
Hashes are deterministic cryptographic functions that map an input (password) to a fixed-size output. They don’t store plaintext, hashes are designed to be one-way.
Good cryptographic hash functions have very low probability of collisions (two different inputs producing the same output).
Salt = a per-password random value appended or prepended to the password before hashing. Salts prevent effective use of precomputed tables (rainbow tables) and make identical passwords produce different hashes.
old hash algorithms (e.g., MD5, SHA-1, NTLM) are faster to crack and are commonly used in CTFs or legacy contexts.
Modern password hashing schemes are just better
Hashcat basics: use -a to set attack mode – dictionary + rulefile combinations. Performance scales with wordlist sizexrule countxhash complexity.