Antipattern: Store Password in Plain Text

Let’s explore the risks of using passwords as plain text.

A frequent mistake found in password-recovery solutions is that the application allows the user to request an email containing their password in plain text. This is a dire security flaw related to the database design, and it leads to several security risks that could allow unauthorized people to gain privileged access to the application.

Let’s explore these risks in the following sections. We will assume that our example bug-tracking database has a table Accounts in which each user’s account is stored as a row of the table.

Storing passwords

A password is typically stored in the Accounts table as a string attribute column:

Get hands-on with 1400+ tech skills courses.