Struct Sha256VarCore

pub struct Sha256VarCore { /* private fields */ }

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

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

Trait Implementations

impl AlgorithmName for Sha256VarCore

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

impl BlockSizeUser for Sha256VarCore

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

impl BufferKindUser for Sha256VarCore

type BufferKind = Eager;

impl Clone for Sha256VarCore

fn clone(&self) -> Sha256VarCore

impl Debug for Sha256VarCore

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

impl Drop for Sha256VarCore

fn drop(&mut self)

impl HashMarker for Sha256VarCore

impl OutputSizeUser for Sha256VarCore

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

impl SerializableState for Sha256VarCore

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

impl UpdateCore for Sha256VarCore

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

impl VariableOutputCore for Sha256VarCore

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 Sha256VarCore

impl RefUnwindSafe for Sha256VarCore

impl Send for Sha256VarCore

impl Sync for Sha256VarCore

impl Unpin for Sha256VarCore

impl UnsafeUnpin for Sha256VarCore

impl UnwindSafe for Sha256VarCore

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

impl<T> From<T> for Sha256VarCore

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Same for Sha256VarCore

type Output = T;

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

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

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

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

impl<T, U> Into<U> for Sha256VarCore 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 Sha256VarCore where U: Into<T>,

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

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

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