ShaCrypt

Struct ShaCrypt 

Source
pub struct ShaCrypt { /* private fields */ }
Available on crate feature password-hash only.
Expand description

SHA-crypt type for use with the PasswordHasher and PasswordVerifier traits, which can produce and verify password hashes in Modular Crypt Format.

Implementations§

Source§

impl ShaCrypt

Source

pub fn new(algorithm: Algorithm, params: Params) -> Self

Create a new password hasher with customized algorithm and params.

Trait Implementations§

Source§

impl Clone for ShaCrypt

Source§

fn clone(&self) -> ShaCrypt

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl CustomizedPasswordHasher<PasswordHash> for ShaCrypt

Source§

type Params = Params

Algorithm-specific parameters.
Source§

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 more
Source§

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 Debug for ShaCrypt

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for ShaCrypt

Source§

fn default() -> ShaCrypt

Returns the “default value” for a type. Read more
Source§

impl From<Algorithm> for ShaCrypt

Source§

fn from(algorithm: Algorithm) -> Self

Converts to this type from the input type.
Source§

impl From<Params> for ShaCrypt

Source§

fn from(params: Params) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for ShaCrypt

Source§

fn eq(&self, other: &ShaCrypt) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PasswordHasher<PasswordHash> for ShaCrypt

Source§

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 more
Source§

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 more
Source§

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 more
Source§

impl PasswordVerifier<PasswordHash> for ShaCrypt

Source§

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 ShaCrypt

Source§

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.
Source§

impl PasswordVerifier<str> for ShaCrypt

Source§

fn verify_password(&self, password: &[u8], hash: &str) -> 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 Copy for ShaCrypt

Source§

impl Eq for ShaCrypt

Source§

impl StructuralPartialEq for ShaCrypt

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.