Struct Sha512
pub struct Sha512 { /* private fields */ }
SHA-512 hasher.
Trait Implementations
impl AlgorithmName for Sha512
fn write_alg_name(f: &mut Formatter<'_>) -> Result<(), Error>
impl AssociatedOid for Sha512
const OID: ObjectIdentifier = _;
impl BlockSizeUser for Sha512
type BlockSize = <CtOutWrapper<Sha512VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>> as BlockSizeUser>::BlockSize;
impl Clone for Sha512
fn clone(&self) -> Self
impl CoreProxy for Sha512
type Core = CtOutWrapper<Sha512VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, 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 Sha512
fn fmt(&self, f: &mut Formatter<'_>) -> Result
impl Default for Sha512
fn default() -> Self
impl FixedOutput for Sha512
fn finalize_into(self, out: &mut Output<Self>)
impl FixedOutputReset for Sha512
fn finalize_into_reset(&mut self, out: &mut Output<Self>)
impl HashMarker for Sha512
impl OutputSizeUser for Sha512
type OutputSize = <CtOutWrapper<Sha512VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>> as OutputSizeUser>::OutputSize;
impl Reset for Sha512
fn reset(&mut self)
impl SerializableState for Sha512
type SerializedStateSize = <<CtOutWrapper<Sha512VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>> as SerializableState>::SerializedStateSize as Add<<<CtOutWrapper<Sha512VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>> as BlockSizeUser>::BlockSize as Add<<<CtOutWrapper<Sha512VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, 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 Sha512
fn update(&mut self, data: &[u8])
Auto Trait Implementations
impl Freeze for Sha512
impl RefUnwindSafe for Sha512
impl Send for Sha512
impl Sync for Sha512
impl Unpin for Sha512
impl UnsafeUnpin for Sha512
impl UnwindSafe for Sha512
Blanket Implementations
impl<D> Digest for Sha512
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 Sha512
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 Sha512
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Sha512
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Sha512
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for Sha512
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> DynAssociatedOid for Sha512
where
T: AssociatedOid,
fn oid(&self) -> ObjectIdentifier
impl<T> DynDigestWithOid for Sha512
where
T: DynDigest + DynAssociatedOid,
impl<T> EagerHash for Sha512
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 Sha512
fn from(t: T) -> TReturns the argument unchanged.
impl<T> Same for Sha512
type Output = T;
impl<T> SmallBlockSizeUser for Sha512
where
T: BlockSizeUser,
<T as BlockSizeUser>::BlockSize: BlockSizes,
type _BlockSize = <T as BlockSizeUser>::BlockSize;
impl<T> ToOwned for Sha512
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for Sha512
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 Sha512
where
U: Into<T>,
type Error = never;fn try_from(value: U) -> Result<T, never>
impl<T, U> TryInto<U> for Sha512
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>