Crate sha_crypt

Source
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.

§Usage

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());

Structs§

Sha256Params
Algorithm parameters.
Sha512Params
Algorithm parameters.

Enums§

CryptError
Error type.

Constants§

BLOCK_SIZE_SHA256
Block size for SHA256
BLOCK_SIZE_SHA512
Block size for SHA512
ROUNDS_DEFAULT
Default number of rounds.
ROUNDS_MAX
Maximum number of rounds allowed.
ROUNDS_MIN
Minimum number of rounds allowed.

Functions§

sha256_checksimple
Checks that given password matches provided hash.
sha256_crypt
The SHA256 crypt function returned as byte vector
sha256_crypt_b64
Same as sha256_crypt except base64 representation will be returned.
sha256_simplesimple
Simple interface for generating a SHA256 password hash.
sha512_checksimple
Checks that given password matches provided hash.
sha512_crypt
The SHA512 crypt function returned as byte vector
sha512_crypt_b64
Same as sha512_crypt except base64 representation will be returned.
sha512_simplesimple
Simple interface for generating a SHA512 password hash.