Home › Guides › What Is a Rainbow Table?

What Is a Rainbow Table?

A beginner-friendly explanation of rainbow tables, precomputed password hashes and why salting passwords matters.

🌈

A rainbow table is a shortcut based on precomputation

A rainbow table is a technique associated with precomputed relationships between possible passwords and hash values. Instead of calculating everything from scratch for every target, an attacker can use work prepared in advance.

Why precomputation can be useful

Fast hash functions always produce the same output for the same input. If many systems store unsalted passwords using the same approach, precomputed information can potentially be reused.

Salts change the equation

A salt is additional unique data used when deriving a password hash. When properly implemented, it means the same password does not automatically produce the same stored value for every user, making broad precomputation much less useful.

Salting is not the only requirement

Modern password storage also needs a deliberately slow, purpose-built password hashing function. General-purpose hashes such as MD5 or SHA-1 were not designed to be the primary mechanism for protecting new password databases.

What ordinary users should take from this

You do not need to manage salts yourself when using a reputable online service. The useful lesson is that websites have responsibilities too: a strong password is important, but safe storage practices on the service side also matter.

Important distinction: password hashing is a server-side security design problem; generating a strong unique password is the part users can directly control.