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>) -> Selffn 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() -> 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 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) -> usizefn 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) -> TReturns 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) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for Sha384
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 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>