Md

Struct Md 

Source
pub struct Md(/* private fields */);
Expand description

A message digest algorithm.

Implementations§

Source§

impl Md

Source

pub fn from_nid(type_: Nid) -> Option<&'static MdRef>

Returns the Md corresponding to an Nid.

This corresponds to EVP_get_digestbynid.

Source

pub fn fetch( ctx: Option<&LibCtxRef>, algorithm: &str, properties: Option<&str>, ) -> Result<Self, ErrorStack>

Fetches an Md object corresponding to the specified algorithm name and properties.

Requires OpenSSL 3.0.0 or newer.

This corresponds to EVP_MD_fetch.

Source

pub fn null() -> &'static MdRef

Source

pub fn md5() -> &'static MdRef

Source

pub fn sha1() -> &'static MdRef

Source

pub fn sha224() -> &'static MdRef

Source

pub fn sha256() -> &'static MdRef

Source

pub fn sha384() -> &'static MdRef

Source

pub fn sha512() -> &'static MdRef

Source

pub fn sha3_224() -> &'static MdRef

Source

pub fn sha3_256() -> &'static MdRef

Source

pub fn sha3_384() -> &'static MdRef

Source

pub fn sha3_512() -> &'static MdRef

Source

pub fn shake128() -> &'static MdRef

Source

pub fn shake256() -> &'static MdRef

Source

pub fn ripemd160() -> &'static MdRef

Source

pub fn sm3() -> &'static MdRef

Methods from Deref<Target = MdRef>§

Source

pub fn block_size(&self) -> usize

Returns the block size of the digest in bytes.

This corresponds to EVP_MD_block_size.

Source

pub fn size(&self) -> usize

Returns the size of the digest in bytes.

This corresponds to EVP_MD_size.

Source

pub fn type_(&self) -> Nid

Returns the Nid of the digest.

This corresponds to EVP_MD_type.

Trait Implementations§

Source§

impl Deref for Md

Source§

type Target = MdRef

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl DerefMut for Md

Source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.
Source§

impl Drop for Md

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl ForeignType for Md

Source§

type CType = EVP_MD

The raw C type.
Source§

type Ref = MdRef

The type representing a reference to this type.
Source§

unsafe fn from_ptr(ptr: *mut Self::CType) -> Self

Constructs an instance of this type from its raw type.
Source§

fn as_ptr(&self) -> *mut Self::CType

Returns a raw pointer to the wrapped value.
Source§

impl Send for Md

Source§

impl Sync for Md

Auto Trait Implementations§

§

impl Freeze for Md

§

impl RefUnwindSafe for Md

§

impl Unpin for Md

§

impl UnwindSafe for Md

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 8 bytes