Crate libpasta [−] [src]
Pasta - Password Storage
Making passwords painless
This is a library designed to make secure password storage easy.
For a more comprehensive introduction, see: https://libpasta.github.io/
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$...
.
Modules
config |
Configuration module |
errors |
|
hashing |
Password hashing functionality |
key |
The |
primitives |
|
rpassword |
Re-export rpassword for convenience. |
Macros
benches |
Structs
Cleartext |
A simple wrapper for a password to denote it is a cleartext password. |
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 |