How databases store passwords securely
Table of Contents
- The server transforms the password using a hash function to create the fingerprint
- The database stores only the fingerprint and not the password
- The one-way hash function prevents retrieval of the password from a fingerprint
- The system regenerates the fingerprint whenever the user enters a password
- The system compares the regenerated fingerprint against the stored value to provide access
- But it’s possible to find the password from a fingerprint using the rainbow table
- A rainbow table is a map from pre-computed fingerprints to passwords
- So the system adds salt to the password to invalidate rainbow table values
- A salt is a unique random string
- The database stores the salt alongside the fingerprint
- The server combines the password with saved salt to regenerate a fingerprint

TODO
Break down each of the concepts from this node