Struct Sha512VarCore

pub struct Sha512VarCore { /* private fields */ }

Core block-level SHA-512 hasher with variable output size.

Supports initialization only for 28, 32, 48, and 64 byte output sizes, i.e. 224, 256, 384, and 512 bits respectively.

Trait Implementations

impl AlgorithmName for Sha512VarCore

fn write_alg_name(f: &mut Formatter<'_>) -> Result

impl BlockSizeUser for Sha512VarCore

type BlockSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>;

impl BufferKindUser for Sha512VarCore

type BufferKind = Eager;

impl Clone for Sha512VarCore

fn clone(&self) -> Sha512VarCore

impl Debug for Sha512VarCore

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

impl Drop for Sha512VarCore

fn drop(&mut self)

impl HashMarker for Sha512VarCore

impl OutputSizeUser for Sha512VarCore

type OutputSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>;

impl SerializableState for Sha512VarCore

type SerializedStateSize = UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B1>, B0>, B0>, B0>, B0>;
fn serialize(&self) -> SerializedState<Self>
fn deserialize(serialized_state: &SerializedState<Self>) -> Result<Self, DeserializeStateError>

impl UpdateCore for Sha512VarCore

fn update_blocks(&mut self, blocks: &[Block<Self>])

impl VariableOutputCore for Sha512VarCore

const TRUNC_SIDE: TruncSide = TruncSide::Left;
fn new(output_size: usize) -> Result<Self, InvalidOutputSize>
fn finalize_variable_core(&mut self, buffer: &mut Buffer<Self>, out: &mut Output<Self>)

Auto Trait Implementations

impl Freeze for Sha512VarCore

impl RefUnwindSafe for Sha512VarCore

impl Send for Sha512VarCore

impl Sync for Sha512VarCore

impl Unpin for Sha512VarCore

impl UnsafeUnpin for Sha512VarCore

impl UnwindSafe for Sha512VarCore

Blanket Implementations

impl<T> Any for Sha512VarCore where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for Sha512VarCore where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for Sha512VarCore where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for Sha512VarCore where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for Sha512VarCore

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Same for Sha512VarCore

type Output = T;

impl<T> SmallBlockSizeUser for Sha512VarCore where T: BlockSizeUser, <T as BlockSizeUser>::BlockSize: BlockSizes,

type _BlockSize = <T as BlockSizeUser>::BlockSize;

impl<T> ToOwned for Sha512VarCore where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T, U> Into<U> for Sha512VarCore where U: From<T>,

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom<U> for Sha512VarCore where U: Into<T>,

type Error = never;
fn try_from(value: U) -> Result<T, never>

impl<T, U> TryInto<U> for Sha512VarCore where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>