PasswordHasher

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, S>(
        &self,
        password: &[u8],
        salt: &'a S,
    ) -> Result<PasswordHash<'a>, Error>
       where S: AsRef<str> + ?Sized { ... }
}
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, S>( &self, password: &[u8], salt: &'a S, ) -> Result<PasswordHash<'a>, Error>
where S: AsRef<str> + ?Sized,

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§