Expand description

Pure Rust implementation of the SHA-crypt password hash based on SHA-512, a legacy password hashing scheme supported by the POSIX crypt C library.

Password hashes using this algorithm start with $6$ when encoded using the PHC string format.


use sha_crypt::{Sha512Params, sha512_simple, sha512_check};

// First setup the Sha512Params arguments with:
// rounds = 10_000
let params = Sha512Params::new(10_000).expect("RandomError!");

// Hash the password for storage
let hashed_password = sha512_simple("Not so secure password", &params)
    .expect("Should not fail");

// Verifying a stored password
assert!(sha512_check("Not so secure password", &hashed_password).is_ok());


Algorithm parameters.


Error type.


Block size

Default number of rounds.

Maximum number of rounds allowed.

Minimum number of rounds allowed.


Checks that given password matches provided hash.

The SHA512 crypt function returned as byte vector

Same as sha512_crypt except base64 representation will be returned.

Simple interface for generating a SHA512 password hash.