Crate password_hash

Source
Expand description

§RustCrypto: Password Hashing Traits

crate Docs Build Status Apache2/MIT licensed Rust Version Project Chat

Traits which describe the functionality of password hashing algorithms.

Documentation

§About

Provides a no_std-friendly implementation of the Password Hashing Competition (PHC) string format specification (a well-defined subset of the Modular Crypt Format a.k.a. MCF) which works in conjunction with the traits this crate defines.

§Supported Crates

See RustCrypto/password-hashes for algorithm implementations which use this crate for interoperability:

  • argon2 - Argon2 memory hard key derivation function
  • pbkdf2 - Password-Based Key Derivation Function v2
  • scrypt - scrypt key derivation function

§Minimum Supported Rust Version

Rust 1.60 or higher.

Minimum supported Rust version may be changed in the future, but it will be accompanied by a minor version bump.

§SemVer Policy

  • All on-by-default features of this library are covered by SemVer
  • MSRV is considered exempt from SemVer as noted above

§License

Licensed under either of:

at your option.

§Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

§Usage

This crate represents password hashes using the PasswordHash type, which represents a parsed “PHC string” with the following format:

$<id>[$v=<version>][$<param>=<value>(,<param>=<value>)*][$<salt>[$<hash>]]

For more information, please see the documentation for PasswordHash.

Re-exports§

pub use crate::errors::Error;
pub use crate::errors::Result;
pub use rand_core;rand_core

Modules§

errors
Error types.

Structs§

Ident
Algorithm or parameter identifier.
Output
Output from password hashing functions, i.e. the “hash” or “digest” as raw bytes.
ParamsString
Algorithm parameter string.
PasswordHash
Password hash.
PasswordHashStringalloc
Serialized PasswordHash.
Salt
Salt string.
SaltString
Owned stack-allocated equivalent of Salt.
Value
Algorithm parameter value string.

Enums§

Encoding
Base64 encoding variants.

Traits§

McfHasher
Trait for password hashing algorithms which support the legacy Modular Crypt Format (MCF).
PasswordHasher
Trait for password hashing functions.
PasswordVerifier
Trait for password verification.

Type Aliases§

Decimal
Type used to represent decimal (i.e. integer) values.