Rainbow Table
A precomputed lookup structure that trades disk space for time when cracking unsalted password hashes, mostly defeated today by per-password salts and slow hash functions.
A rainbow table, introduced by Philippe Oechslin in 2003, is a clever space-time tradeoff for inverting one-way hash functions: chains of hash-then-reduce operations let an attacker reverse an unsalted hash with much less storage than a full lookup table. Pre-built rainbow tables for unsalted MD5 and NTLM still cover huge fractions of historical password sets. The defence is trivial and well known: add a per-password random salt before hashing, so the same password produces a different hash for every user. Once salts are in place, rainbow tables provide no advantage over normal brute-force search.