Focuses on how to properly save a password in a database. Talks about hash functions, saving passwords, symmetric/asymmetric encryption and randomness.
I suspect people will take issue with me lumping all pre-computer tables together under the moniker of "rainbow table", but I really wanted to simplify things as much as possible. But please be aware that where it says rainbow table you can find and replace with "a pre-computed table, which was built with the intention of cracking passwords".