Skip to content

Latest commit

 

History

History
31 lines (24 loc) · 1.75 KB

README.md

File metadata and controls

31 lines (24 loc) · 1.75 KB

password

CI BSD3 license

This repo provides packages for easily working with passwords in Haskell. This is mainly to be used for web applications that need to receive plain-text passwords from users, and store hashed passwords in a database.

The password-types package provides canonical datatypes for plain-text and hashed passwords. This package has minimal dependencies. It is meant to be used as a base for any other packages that wants to use these datatypes. The Data.Password.Types module contains the base datatypes.

The password package provides functions for working with plain-text and hashed passwords. Every algorithm has its own module in the form of Data.Password.ALGORITHM (e.g. Data.Password.Bcrypt) with the functions for the hashing and checking of passwords.

The password-instances package and Data.Password.Instances module adds convenient instances for passwords, like FromJSON and PersistField.

In general, if you are writing a web application and need to handle passwords, you should use the password package together with password-instances.