Struct Sha384

pub struct Sha384 { /* private fields */ }

SHA-384 hasher.

Trait Implementations

impl AlgorithmName for Sha384

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

impl AssociatedOid for Sha384

const OID: ObjectIdentifier = _;

impl BlockSizeUser for Sha384

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

impl Clone for Sha384

fn clone(&self) -> Self

impl CoreProxy for Sha384

type Core = CtOutWrapper<Sha512VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, 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 Sha384

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

impl Default for Sha384

fn default() -> Self

impl FixedOutput for Sha384

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

impl FixedOutputReset for Sha384

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

impl HashMarker for Sha384

impl OutputSizeUser for Sha384

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

impl Reset for Sha384

fn reset(&mut self)

impl SerializableState for Sha384

type SerializedStateSize = <<CtOutWrapper<Sha512VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>, B0>> as SerializableState>::SerializedStateSize as Add<<<CtOutWrapper<Sha512VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, B0>, B0>, B0>, B0>> as BlockSizeUser>::BlockSize as Add<<<CtOutWrapper<Sha512VarCore, UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B1>, 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 Sha384

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

Auto Trait Implementations

impl Freeze for Sha384

impl RefUnwindSafe for Sha384

impl Send for Sha384

impl Sync for Sha384

impl Unpin for Sha384

impl UnsafeUnpin for Sha384

impl UnwindSafe for Sha384

Blanket Implementations

impl<D> Digest for Sha384 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 Sha384 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 Sha384 where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

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

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

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

fn oid(&self) -> ObjectIdentifier

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

impl<T> EagerHash for Sha384 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 Sha384

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Same for Sha384

type Output = T;

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

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

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

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

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

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

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

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