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>) -> Self
fn 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() -> 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 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) -> usize
fn 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) -> T

Returns 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) -> T
fn clone_into(&self, target: &mut T)

impl<T, U> Into<U> for Sha512 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 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>