Crate libpasta[−][src]
Expand description
Pasta - Password Storage
Making passwords painless
This is a library designed to make secure password storage easy.
For a more comprehensive introduction, see the homepage
Examples
The basic functionality for computing password hashes is:
extern crate libpasta; // We re-export the rpassword crate for CLI password input. use libpasta::rpassword::*; fn main() { let password = prompt_password_stdout("Please enter your password:").unwrap(); let password_hash = libpasta::hash_password(password); println!("The stored password is: '{}'", password_hash); }
Supported formats
libpasta
attempts to support some legacy formats. For example, the bcrypt
format $2y$...
.
Re-exports
pub use config::Config; |
Modules
config | Configuration |
errors |
|
hashing | Password hashing functionality |
key | The |
primitives |
|
rpassword | Re-export rpassword for convenience. |
sod | Module to define the Static or Dynamic |
Enums
HashUpdate | On migrating a hash with the password entered, we reach three possible states: |
Functions
hash_password | Generates a default hash for a given password. |
migrate_hash | Migrate the input hash to the current recommended hash. |
verify_password | Verifies the provided password matches the inputted hash string. |
verify_password_update_hash | Verifies a supplied password against a previously computed password hash,
and performs an in-place update of the hash value if the password verifies.
Hence this needs to take a mutable |