6.3.1 A Hashed Password

We’ll start with the necessary change to the data model for users, which
involves adding a password_digest column to the users table (Figure
6.5). The name digest comes from the terminology of cryptographic hash
functions, and the exact name password_digest is necessary for the
implementation in Section 6.3.4 to work. By hashing the password
properly, we’ll ensure that an attacker won’t be able to sign in to the
site even if they manage to obtain a copy of the database.