Skip to main content

Hash

Struct Hash 

Source
pub struct Hash { /* private fields */ }
Expand description

Contains the Argon2 hash in PHC format.

The hash can be safely stored in your database without special security measures since it’s already cryptographically hashed. However, avoid unnecessary cloning or logging to minimize exposure.

§PHC Format

The hash is stored in PHC (Password Hashing Competition) format which includes:

  • Algorithm identifier (argon2id)
  • Version
  • Parameters (memory cost, time cost, parallelism)
  • Salt (base64-encoded, embedded in the hash string)
  • Hash output (base64-encoded)

Example: $argon2id$v=19$m=19456,t=2,p=1$<salt>$<hash>

The salt is embedded within the PHC string and can be extracted if needed using the password_hash crate’s PasswordHash::new() method.

The hash can be accessed using the auto-generated getter method hash() provided by the Getters derive macro.

Implementations§

Source§

impl Hash

Auto-generated by derive_getters::Getters.

Source

pub fn hash(&self) -> &String

Get field hash from instance of Hash.

Trait Implementations§

Source§

impl Debug for Hash

Source§

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

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

impl PartialEq for Hash

Source§

fn eq(&self, other: &Hash) -> 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 StructuralPartialEq for Hash

Auto Trait Implementations§

§

impl Freeze for Hash

§

impl RefUnwindSafe for Hash

§

impl Send for Hash

§

impl Sync for Hash

§

impl Unpin for Hash

§

impl UnwindSafe for Hash

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> 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, 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.