Trait PasswordHasher

Source
pub trait PasswordHasher {
    type Params: Clone + Debug + Default + for<'a> TryFrom<&'a PasswordHash<'a>, Error = Error> + TryInto<ParamsString, Error = Error>;

    // Required method
    fn hash_password_customized<'a>(
        &self,
        password: &[u8],
        algorithm: Option<Ident<'a>>,
        version: Option<u32>,
        params: Self::Params,
        salt: impl Into<Salt<'a>>,
    ) -> Result<PasswordHash<'a>, Error>;

    // Provided method
    fn hash_password<'a>(
        &self,
        password: &[u8],
        salt: impl Into<Salt<'a>>,
    ) -> Result<PasswordHash<'a>, Error> { ... }
}
Available on crate feature password-hash only.
Expand description

Trait for password hashing functions.

Required Associated Types§

Source

type Params: Clone + Debug + Default + for<'a> TryFrom<&'a PasswordHash<'a>, Error = Error> + TryInto<ParamsString, Error = Error>

Algorithm-specific parameters.

Required Methods§

Source

fn hash_password_customized<'a>( &self, password: &[u8], algorithm: Option<Ident<'a>>, version: Option<u32>, params: Self::Params, salt: impl Into<Salt<'a>>, ) -> Result<PasswordHash<'a>, Error>

Compute a PasswordHash from the provided password using an explicit set of customized algorithm parameters as opposed to the defaults.

When in doubt, use PasswordHasher::hash_password instead.

Provided Methods§

Source

fn hash_password<'a>( &self, password: &[u8], salt: impl Into<Salt<'a>>, ) -> Result<PasswordHash<'a>, Error>

Simple API for computing a PasswordHash from a password and salt value.

Uses the default recommended parameters for a given algorithm.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl PasswordHasher for Argon2<'_>

Available on crate feature alloc only.