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>) -> Selffn 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() -> Dfn 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]>) -> Dfn 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() -> usizefn 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) -> usizefn 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) -> TReturns 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) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for Sha256
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses 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>