Struct Sha256

pub struct Sha256 { /* private fields */ }

SHA-256 hasher.

Trait Implementations

impl AlgorithmName for Sha256

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

impl AssociatedOid for Sha256

const OID: ObjectIdentifier = _;

impl BlockSizeUser for Sha256

type BlockSize = <CtOutWrapper<Sha256VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>> as BlockSizeUser>::BlockSize;

impl Clone for Sha256

fn clone(&self) -> Self

impl CoreProxy for Sha256

type Core = CtOutWrapper<Sha256VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>>;
fn compose(core: Self::Core, buffer: Buffer<Self::Core>) -> Self
fn decompose(self) -> (Self::Core, Buffer<Self::Core>)

impl Debug for Sha256

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

impl Default for Sha256

fn default() -> Self

impl FixedOutput for Sha256

fn finalize_into(self, out: &mut Output<Self>)

impl FixedOutputReset for Sha256

fn finalize_into_reset(&mut self, out: &mut Output<Self>)

impl HashMarker for Sha256

impl OutputSizeUser for Sha256

type OutputSize = <CtOutWrapper<Sha256VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>> as OutputSizeUser>::OutputSize;

impl Reset for Sha256

fn reset(&mut self)

impl SerializableState for Sha256

type SerializedStateSize = <<CtOutWrapper<Sha256VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>> as SerializableState>::SerializedStateSize as Add<<<CtOutWrapper<Sha256VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>> as BlockSizeUser>::BlockSize as Add<<<CtOutWrapper<Sha256VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>> as BufferKindUser>::BufferKind as Sealed>::Overhead>>::Output>>::Output;
fn serialize(&self) -> SerializedState<Self>
fn deserialize(serialized_state: &SerializedState<Self>) -> Result<Self, DeserializeStateError>

impl Update for Sha256

fn update(&mut self, data: &[u8])

Auto Trait Implementations

impl Freeze for Sha256

impl RefUnwindSafe for Sha256

impl Send for Sha256

impl Sync for Sha256

impl Unpin for Sha256

impl UnsafeUnpin for Sha256

impl UnwindSafe for Sha256

Blanket Implementations

impl<D> Digest for Sha256 where D: FixedOutput + Default + Update + HashMarker,

fn new() -> D
fn new_with_prefix(data: impl AsRef<[u8]>) -> D
where
    D: Sized + Default,
fn update(&mut self, data: impl AsRef<[u8]>)
fn chain_update(self, data: impl AsRef<[u8]>) -> D
fn finalize(self) -> Array<u8, <D as OutputSizeUser>::OutputSize>
fn finalize_into(self, out: &mut Array<u8, <D as OutputSizeUser>::OutputSize>)
fn finalize_reset(&mut self) -> Array<u8, <D as OutputSizeUser>::OutputSize>
where
    D: FixedOutputReset,
fn finalize_into_reset(&mut self, out: &mut Array<u8, <D as OutputSizeUser>::OutputSize>)
where
    D: FixedOutputReset,
fn reset(&mut self)
where
    D: Reset,
fn output_size() -> usize
fn digest(data: impl AsRef<[u8]>) -> Array<u8, <D as OutputSizeUser>::OutputSize>

impl<D> DynDigest for Sha256 where D: Update + FixedOutputReset + Reset + Clone + 'static,

fn update(&mut self, data: &[u8])
fn finalize_reset(&mut self) -> Box<[u8]>
fn finalize(self: Box<D>) -> Box<[u8]>
fn finalize_into(self, buf: &mut [u8]) -> Result<(), InvalidBufferSize>
fn finalize_into_reset(&mut self, buf: &mut [u8]) -> Result<(), InvalidBufferSize>
fn reset(&mut self)
fn output_size(&self) -> usize
fn box_clone(&self) -> Box<dyn DynDigest>

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

impl<T> DynAssociatedOid for Sha256 where T: AssociatedOid,

fn oid(&self) -> ObjectIdentifier

impl<T> DynDigestWithOid for Sha256 where T: DynDigest + DynAssociatedOid,

impl<T> EagerHash for Sha256 where T: SmallBlockSizeUser + Digest + Clone + CoreProxy, <T as CoreProxy>::Core: HashMarker + UpdateCore + FixedOutputCore<_BlockSize = <T as SmallBlockSizeUser>::_BlockSize, BufferKind = Eager> + SmallBlockSizeUser + BufferKindUser + Default + Clone,

type Core = <T as CoreProxy>::Core;

impl<T> From<T> for Sha256

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Same for Sha256

type Output = T;

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

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

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

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

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

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

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

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