Skip to main content

HashAlgorithm

Enum HashAlgorithm 

Source
pub enum HashAlgorithm {
    None,
    MD5,
    SHA1,
    SHA224,
    SHA256,
    SHA384,
    SHA512,
    Unknown(u8),
}
Expand description

Hash algorithms used in DTLS (RFC 5246, RFC 8446).

Specifies the hash algorithm to be used in digital signatures, PRF/HKDF operations, and transcript hashing.

Variants§

§

None

No hash (not typically used).

§

MD5

MD5 hash (deprecated, not supported).

§

SHA1

SHA-1 hash (deprecated, not supported).

§

SHA224

SHA-224 hash.

§

SHA256

SHA-256 hash (supported by dimpl).

§

SHA384

SHA-384 hash (supported by dimpl).

§

SHA512

SHA-512 hash.

§

Unknown(u8)

Unknown or unsupported hash algorithm.

Implementations§

Source§

impl HashAlgorithm

Source

pub fn from_u8(value: u8) -> Self

Convert a wire format u8 value to a HashAlgorithm.

Source

pub fn as_u8(&self) -> u8

Convert this HashAlgorithm to its wire format u8 value.

Source

pub fn parse(input: &[u8]) -> IResult<&[u8], HashAlgorithm>

Parse a HashAlgorithm from wire format.

Source

pub fn output_len(&self) -> usize

Returns the output length in bytes for this hash algorithm.

Trait Implementations§

Source§

impl Clone for HashAlgorithm

Source§

fn clone(&self) -> HashAlgorithm

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

Source§

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

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

impl Default for HashAlgorithm

Source§

fn default() -> Self

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

impl PartialEq for HashAlgorithm

Source§

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

Source§

impl Eq for HashAlgorithm

Source§

impl StructuralPartialEq for HashAlgorithm

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

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

Source§

fn vzip(self) -> V

Source§

impl<T> CryptoSafe for T