[][src]Struct devolutions_crypto::Argon2Parameters

pub struct Argon2Parameters {
    pub length: u32,
    pub lanes: u32,
    pub memory: u32,
    pub iterations: u32,
    // some fields omitted
}

Parameters used to derive the password into an Argon2 hash. It is used to derive a password into a keypair. You should use the default, although this may be tweakable by the user in some cases. Once serialized, you can save it along the user information as it is not sensitive data. If the hash should never be computed in a non-threaded environment, you can raise the "lanes" value to enable multi-threading.

Note that calling default() will also generate a new random salt, so two calls to default() will not generate the same structure.

Fields

length: u32

Length of the desired hash. Should be 32 in most case.

lanes: u32

Number of parallel jobs to run. Only use if always computed in a multithreaded environment.

memory: u32

Memory used by the algorithm in KiB. Higher is better.

iterations: u32

Number of iterations(time cost). Higher is better.

Methods

impl Argon2Parameters[src]

pub fn compute(&self, password: &[u8]) -> Result<Vec<u8>, Error>[src]

Compute the Argon2 hash using the password and the parameters.

Trait Implementations

impl Clone for Argon2Parameters[src]

impl Default for Argon2Parameters[src]

Implements the default parameters.

impl From<Argon2Parameters> for Vec<u8>[src]

impl<'_> TryFrom<&'_ [u8]> for Argon2Parameters[src]

type Error = Error

The type returned in the event of a conversion error.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,