liveBook · Manning

Cryptographic salt

As explained in Grokking Relational Database Design

A cryptographic salt is a random value combined with password input before hashing to make precomputed hash attacks less effective.

A cryptographic salt is a random value combined with a password before hashing. It makes precomputed hash attacks, such as rainbow-table attacks, less effective. section 7.4

Password login, step by step

When a user creates an account, the application combines the password with a salt and stores the resulting hash. During login, it applies the same process to the supplied password and compares the new hash with the stored hash. A matching result authenticates the user. section 7.4

Use the pattern as a practical rule of thumb:

  • Store password hashes rather than plain passwords. section 7.4
  • Combine each password with its salt before hashing. section 7.4
  • Compare hashes during authentication instead of trying to recover the original password. section 7.4

How Grokking Relational Database Design covers it

How deep it goes
Defines salted hashing and walks through login verification, but does not detail salt-generation or storage implementation.
Examples
Uses compromised password databases, rainbow tables, and a step-by-step user login comparison as concrete security examples.
What it assumes
Assumes no advanced background and introduces hashing, password storage risks, brute-force attacks, and authentication.
What you can do after
Apply it via salted password hashing and verify login attempts by comparing newly computed hashes.
How it connects
Connects password hashing with brute-force attacks, rainbow tables, authentication, and one-way encryption.

Also explained in

Compare how 5 books explain cryptographic salt →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Grokking Relational Database Design. The section links point to the parts of the book it draws on.