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> { ... }
}
Expand description

Trait for password hashing functions.

Required Associated Types§

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

Algorithm-specific parameters.

Required Methods§

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§

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.

Object Safety§

This trait is not object safe.

Implementors§