Enum argon2::Algorithm[][src]

pub enum Algorithm {
    Argon2d,
    Argon2i,
    Argon2id,
}
Expand description

Argon2 primitive type: variants of the algorithm.

Variants

Argon2d

Optimizes against GPU cracking attacks but vulnerable to side-channels.

Accesses the memory array in a password dependent order, reducing the possibility of time–memory tradeoff (TMTO) attacks.

Argon2i

Optimized to resist side-channel attacks.

Accesses the memory array in a password independent order, increasing the possibility of time-memory tradeoff (TMTO) attacks.

Argon2id

Hybrid that mixes Argon2i and Argon2d passes (default).

Uses the Argon2i approach for the first half pass over memory and Argon2d approach for subsequent passes. This effectively places it in the “middle” between the other two: it doesn’t provide as good TMTO/GPU cracking resistance as Argon2d, nor as good of side-channel resistance as Argon2i, but overall provides the most well-rounded approach to both classes of attacks.

Implementations

impl Algorithm[src]

pub fn new(id: impl AsRef<str>) -> Result<Self, Error>[src]

Parse an Algorithm from the provided string.

pub fn as_str(&self) -> &str[src]

Get the identifier string for this PBKDF2 Algorithm.

pub fn ident(&self) -> Ident<'static>[src]

This is supported on crate feature password-hash only.

Get the Ident that corresponds to this Argon2 Algorithm.

Trait Implementations

impl AsRef<str> for Algorithm[src]

fn as_ref(&self) -> &str[src]

Performs the conversion.

impl Clone for Algorithm[src]

fn clone(&self) -> Algorithm[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Algorithm[src]

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

Formats the value using the given formatter. Read more

impl Default for Algorithm[src]

fn default() -> Algorithm[src]

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

impl Display for Algorithm[src]

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

Formats the value using the given formatter. Read more

impl FromStr for Algorithm[src]

type Err = Error

The associated error which can be returned from parsing.

fn from_str(s: &str) -> Result<Algorithm, Error>[src]

Parses a string s to return a value of this type. Read more

impl Ord for Algorithm[src]

fn cmp(&self, other: &Algorithm) -> Ordering[src]

This method returns an Ordering between self and other. Read more

#[must_use]
fn max(self, other: Self) -> Self
1.21.0[src]

Compares and returns the maximum of two values. Read more

#[must_use]
fn min(self, other: Self) -> Self
1.21.0[src]

Compares and returns the minimum of two values. Read more

#[must_use]
fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]

Restrict a value to a certain interval. Read more

impl PartialEq<Algorithm> for Algorithm[src]

fn eq(&self, other: &Algorithm) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

#[must_use]
fn ne(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests for !=.

impl PartialOrd<Algorithm> for Algorithm[src]

fn partial_cmp(&self, other: &Algorithm) -> Option<Ordering>[src]

This method returns an ordering between self and other values if one exists. Read more

#[must_use]
fn lt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than (for self and other) and is used by the < operator. Read more

#[must_use]
fn le(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests less than or equal to (for self and other) and is used by the <= operator. Read more

#[must_use]
fn gt(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than (for self and other) and is used by the > operator. Read more

#[must_use]
fn ge(&self, other: &Rhs) -> bool
1.0.0[src]

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

impl<'a> TryFrom<Ident<'a>> for Algorithm[src]

This is supported on crate feature password-hash only.

type Error = Error

The type returned in the event of a conversion error.

fn try_from(ident: Ident<'a>) -> Result<Algorithm, Error>[src]

Performs the conversion.

impl Copy for Algorithm[src]

impl Eq for Algorithm[src]

impl StructuralEq for Algorithm[src]

impl StructuralPartialEq for Algorithm[src]

Auto Trait Implementations

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pointable for T

pub const ALIGN: usize

The alignment of pointer.

type Init = T

The type for initializers.

pub unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more

pub unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more

pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more

pub unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more

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.

pub fn to_owned(&self) -> T[src]

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

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

impl<T> ToString for T where
    T: Display + ?Sized
[src]

pub default fn to_string(&self) -> String[src]

Converts the given value to a String. Read more

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.

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

Performs the conversion.

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.

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

Performs the conversion.