pub struct Scrypt;Expand description
scrypt password hashing type which can produce and verify strings in either the Password Hashing
Competition (PHC) string format which begin with $scrypt$, or in Modular Crypt Format (MCF)
which begin with $7$.
This is a ZST which impls traits from the password-hash crate, notably
the PasswordHasher, PasswordVerifier, and CustomizedPasswordHasher traits.
See the toplevel documentation for a code example.
Trait Implementations§
Source§impl CustomizedPasswordHasher<PasswordHash> for Scrypt
Available on crate feature mcf only.
impl CustomizedPasswordHasher<PasswordHash> for Scrypt
Available on crate feature
mcf only.Source§fn hash_password_customized(
&self,
password: &[u8],
salt: &[u8],
alg_id: Option<&str>,
version: Option<Version>,
params: Params,
) -> Result<PasswordHash>
fn hash_password_customized( &self, password: &[u8], salt: &[u8], alg_id: Option<&str>, version: Option<Version>, params: Params, ) -> Result<PasswordHash>
Compute a
PasswordHash from the provided password using an
explicit set of customized algorithm parameters as opposed to the
defaults. Read moreSource§fn hash_password_with_params(
&self,
password: &[u8],
salt: &[u8],
params: Self::Params,
) -> Result<H, Error>
fn hash_password_with_params( &self, password: &[u8], salt: &[u8], params: Self::Params, ) -> Result<H, Error>
Compute a
PasswordHash using customized parameters only, using the default
algorithm and version.Source§impl CustomizedPasswordHasher<PasswordHash> for Scrypt
Available on crate feature phc only.
impl CustomizedPasswordHasher<PasswordHash> for Scrypt
Available on crate feature
phc only.Source§fn hash_password_customized(
&self,
password: &[u8],
salt: &[u8],
alg_id: Option<&str>,
version: Option<Version>,
params: Params,
) -> Result<PasswordHash>
fn hash_password_customized( &self, password: &[u8], salt: &[u8], alg_id: Option<&str>, version: Option<Version>, params: Params, ) -> Result<PasswordHash>
Compute a
PasswordHash from the provided password using an
explicit set of customized algorithm parameters as opposed to the
defaults. Read moreSource§fn hash_password_with_params(
&self,
password: &[u8],
salt: &[u8],
params: Self::Params,
) -> Result<H, Error>
fn hash_password_with_params( &self, password: &[u8], salt: &[u8], params: Self::Params, ) -> Result<H, Error>
Compute a
PasswordHash using customized parameters only, using the default
algorithm and version.Source§impl PasswordHasher<PasswordHash> for Scrypt
Available on crate feature mcf only.
impl PasswordHasher<PasswordHash> for Scrypt
Available on crate feature
mcf only.Source§fn hash_password_with_salt(
&self,
password: &[u8],
salt: &[u8],
) -> Result<PasswordHash>
fn hash_password_with_salt( &self, password: &[u8], salt: &[u8], ) -> Result<PasswordHash>
Compute the hash
H from the given password and salt, potentially using configuration
stored in &self for the parameters, or otherwise the recommended defaults. Read moreSource§fn hash_password(&self, password: &[u8]) -> Result<H, Error>
fn hash_password(&self, password: &[u8]) -> Result<H, Error>
Available on crate feature
getrandom only.Compute the hash
H from the given password, potentially using configuration stored in
&self for the parameters, or otherwise the recommended defaults. Read moreSource§fn hash_password_with_rng<R>(
&self,
rng: &mut R,
password: &[u8],
) -> Result<H, Error>where
R: TryCryptoRng + ?Sized,
fn hash_password_with_rng<R>(
&self,
rng: &mut R,
password: &[u8],
) -> Result<H, Error>where
R: TryCryptoRng + ?Sized,
Available on crate feature
rand_core only.Compute the hash
H from the given password, potentially using configuration stored in
&self for the parameters, or otherwise the recommended defaults. Read moreSource§impl PasswordHasher<PasswordHash> for Scrypt
Available on crate feature phc only.
impl PasswordHasher<PasswordHash> for Scrypt
Available on crate feature
phc only.Source§fn hash_password_with_salt(
&self,
password: &[u8],
salt: &[u8],
) -> Result<PasswordHash>
fn hash_password_with_salt( &self, password: &[u8], salt: &[u8], ) -> Result<PasswordHash>
Compute the hash
H from the given password and salt, potentially using configuration
stored in &self for the parameters, or otherwise the recommended defaults. Read moreSource§fn hash_password(&self, password: &[u8]) -> Result<H, Error>
fn hash_password(&self, password: &[u8]) -> Result<H, Error>
Available on crate feature
getrandom only.Compute the hash
H from the given password, potentially using configuration stored in
&self for the parameters, or otherwise the recommended defaults. Read moreSource§fn hash_password_with_rng<R>(
&self,
rng: &mut R,
password: &[u8],
) -> Result<H, Error>where
R: TryCryptoRng + ?Sized,
fn hash_password_with_rng<R>(
&self,
rng: &mut R,
password: &[u8],
) -> Result<H, Error>where
R: TryCryptoRng + ?Sized,
Available on crate feature
rand_core only.Compute the hash
H from the given password, potentially using configuration stored in
&self for the parameters, or otherwise the recommended defaults. Read moreSource§impl PasswordVerifier<PasswordHash> for Scrypt
Available on crate feature mcf only.
impl PasswordVerifier<PasswordHash> for Scrypt
Available on crate feature
mcf only.Source§fn verify_password(&self, password: &[u8], hash: &PasswordHash) -> Result<()>
fn verify_password(&self, password: &[u8], hash: &PasswordHash) -> Result<()>
Compute this password hashing function against the provided password
using the parameters from the provided password hash and see if the
computed output matches.
Source§impl PasswordVerifier<PasswordHashRef> for Scrypt
Available on crate feature mcf only.
impl PasswordVerifier<PasswordHashRef> for Scrypt
Available on crate feature
mcf only.Source§fn verify_password(&self, password: &[u8], hash: &PasswordHashRef) -> Result<()>
fn verify_password(&self, password: &[u8], hash: &PasswordHashRef) -> Result<()>
Compute this password hashing function against the provided password
using the parameters from the provided password hash and see if the
computed output matches.
impl Copy for Scrypt
impl Eq for Scrypt
impl StructuralPartialEq for Scrypt
Auto Trait Implementations§
impl Freeze for Scrypt
impl RefUnwindSafe for Scrypt
impl Send for Scrypt
impl Sync for Scrypt
impl Unpin for Scrypt
impl UnwindSafe for Scrypt
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T, E> PasswordVerifier<PasswordHash> for Twhere
T: CustomizedPasswordHasher<PasswordHash>,
<T as CustomizedPasswordHasher<PasswordHash>>::Params: FromStr<Err = E>,
Error: From<E>,
impl<T, E> PasswordVerifier<PasswordHash> for Twhere
T: CustomizedPasswordHasher<PasswordHash>,
<T as CustomizedPasswordHasher<PasswordHash>>::Params: FromStr<Err = E>,
Error: From<E>,
Source§fn verify_password(
&self,
password: &[u8],
hash: &PasswordHash,
) -> Result<(), Error>
fn verify_password( &self, password: &[u8], hash: &PasswordHash, ) -> Result<(), Error>
Compute this password hashing function against the provided password
using the parameters from the provided password hash and see if the
computed output matches.