[][src]Crate sha_crypt

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

Re-exports

pub use crate::errors::CryptError;
pub use crate::params::Sha512Params;
pub use crate::params::ROUNDS_DEFAULT;
pub use crate::params::ROUNDS_MAX;
pub use crate::params::ROUNDS_MIN;

Modules

errors

Error types.

params

Algorithm parameters.

Constants

BLOCK_SIZE

Functions

sha512_checkinclude_simple

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_simpleinclude_simple

Simple interface for generating a SHA512 password hash.