Crate password_hash

source ·
Expand description

This crate defines a set of traits which describe the functionality of password hashing algorithms.

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


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


For more information, please see the documentation for PasswordHash.


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


Error types.


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


Base64 encoding variants.


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

Type Definitions

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