Struct digest::core_api::CoreWrapper
source · pub struct CoreWrapper<T: BufferKindUser> { /* private fields */ }Available on crate feature
core-api only.Expand description
Wrapper around BufferKindUser.
It handles data buffering and implements the slice-based traits.
Implementations§
source§impl<T: BufferKindUser> CoreWrapper<T>
impl<T: BufferKindUser> CoreWrapper<T>
Trait Implementations§
source§impl<T> AssociatedOid for CoreWrapper<T>where
T: BufferKindUser + AssociatedOid,
Available on crate feature oid only.
impl<T> AssociatedOid for CoreWrapper<T>where
T: BufferKindUser + AssociatedOid,
Available on crate feature
oid only.source§const OID: ObjectIdentifier = T::OID
const OID: ObjectIdentifier = T::OID
The OID associated with this type.
source§impl<T: BufferKindUser + HashMarker> BlockSizeUser for CoreWrapper<T>
impl<T: BufferKindUser + HashMarker> BlockSizeUser for CoreWrapper<T>
§type BlockSize = <T as BlockSizeUser>::BlockSize
type BlockSize = <T as BlockSizeUser>::BlockSize
Size of the block in bytes.
source§fn block_size() -> usize
fn block_size() -> usize
Return block size in bytes.
source§impl<T: Clone + BufferKindUser> Clone for CoreWrapper<T>
impl<T: Clone + BufferKindUser> Clone for CoreWrapper<T>
source§impl<T: BufferKindUser> CoreProxy for CoreWrapper<T>
impl<T: BufferKindUser> CoreProxy for CoreWrapper<T>
§type Core = T
type Core = T
Type wrapped by
CoreWrapper.source§impl<T> CustomizedInit for CoreWrapper<T>where
T: BufferKindUser + CustomizedInit,
impl<T> CustomizedInit for CoreWrapper<T>where
T: BufferKindUser + CustomizedInit,
source§fn new_customized(customization: &[u8]) -> Self
fn new_customized(customization: &[u8]) -> Self
Create new hasher instance with the given customization string.
source§impl<T: BufferKindUser + AlgorithmName> Debug for CoreWrapper<T>
impl<T: BufferKindUser + AlgorithmName> Debug for CoreWrapper<T>
source§impl<T: Default + BufferKindUser> Default for CoreWrapper<T>
impl<T: Default + BufferKindUser> Default for CoreWrapper<T>
source§impl<T: BufferKindUser> Drop for CoreWrapper<T>
impl<T: BufferKindUser> Drop for CoreWrapper<T>
source§impl<T: ExtendableOutputCore> ExtendableOutput for CoreWrapper<T>
impl<T: ExtendableOutputCore> ExtendableOutput for CoreWrapper<T>
§type Reader = XofReaderCoreWrapper<<T as ExtendableOutputCore>::ReaderCore>
type Reader = XofReaderCoreWrapper<<T as ExtendableOutputCore>::ReaderCore>
Reader
source§fn finalize_xof(self) -> Self::Reader
fn finalize_xof(self) -> Self::Reader
Retrieve XOF reader and consume hasher instance.
source§fn finalize_xof_into(self, out: &mut [u8])
fn finalize_xof_into(self, out: &mut [u8])
Finalize XOF and write result into
out.source§impl<T: ExtendableOutputCore + Reset> ExtendableOutputReset for CoreWrapper<T>
impl<T: ExtendableOutputCore + Reset> ExtendableOutputReset for CoreWrapper<T>
source§fn finalize_xof_reset(&mut self) -> Self::Reader
fn finalize_xof_reset(&mut self) -> Self::Reader
Retrieve XOF reader and reset hasher instance state.
source§fn finalize_xof_reset_into(&mut self, out: &mut [u8])
fn finalize_xof_reset_into(&mut self, out: &mut [u8])
Finalize XOF, write result into
out, and reset the hasher state.source§impl<T: FixedOutputCore> FixedOutput for CoreWrapper<T>
impl<T: FixedOutputCore> FixedOutput for CoreWrapper<T>
source§fn finalize_into(self, out: &mut Output<Self>)
fn finalize_into(self, out: &mut Output<Self>)
Consume value and write result into provided array.
source§fn finalize_fixed(self) -> Output<Self>
fn finalize_fixed(self) -> Output<Self>
Retrieve result and consume the hasher instance.
source§impl<T: FixedOutputCore + Reset> FixedOutputReset for CoreWrapper<T>
impl<T: FixedOutputCore + Reset> FixedOutputReset for CoreWrapper<T>
source§fn finalize_into_reset(&mut self, out: &mut Output<Self>)
fn finalize_into_reset(&mut self, out: &mut Output<Self>)
Write result into provided array and reset the hasher state.
source§fn finalize_fixed_reset(&mut self) -> Output<Self>
fn finalize_fixed_reset(&mut self) -> Output<Self>
Retrieve result and reset the hasher state.
source§impl<T: BufferKindUser + KeyInit> KeyInit for CoreWrapper<T>
impl<T: BufferKindUser + KeyInit> KeyInit for CoreWrapper<T>
source§fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
fn new_from_slice(key: &[u8]) -> Result<Self, InvalidLength>
Create new value from variable size key.
source§fn generate_key_with_rng(
rng: &mut impl CryptoRngCore,
) -> Result<Array<u8, Self::KeySize>, Error>
fn generate_key_with_rng( rng: &mut impl CryptoRngCore, ) -> Result<Array<u8, Self::KeySize>, Error>
Available on crate feature
rand_core only.Generate random key using the provided
CryptoRngCore.source§impl<T: BufferKindUser + KeySizeUser> KeySizeUser for CoreWrapper<T>
impl<T: BufferKindUser + KeySizeUser> KeySizeUser for CoreWrapper<T>
source§impl<T: BufferKindUser + OutputSizeUser> OutputSizeUser for CoreWrapper<T>
impl<T: BufferKindUser + OutputSizeUser> OutputSizeUser for CoreWrapper<T>
§type OutputSize = <T as OutputSizeUser>::OutputSize
type OutputSize = <T as OutputSizeUser>::OutputSize
Size of the output in bytes.
source§fn output_size() -> usize
fn output_size() -> usize
Return output size in bytes.
source§impl<T: BufferKindUser + Reset> Reset for CoreWrapper<T>
impl<T: BufferKindUser + Reset> Reset for CoreWrapper<T>
source§impl<T> SerializableState for CoreWrapper<T>where
T: BufferKindUser + SerializableState,
T::BlockSize: IsLess<U256>,
Le<T::BlockSize, U256>: NonZero,
T::SerializedStateSize: Add<U1>,
Sum<T::SerializedStateSize, U1>: Add<T::BlockSize> + ArraySize,
Sum<Sum<<T as SerializableState>::SerializedStateSize, U1>, <T as BlockSizeUser>::BlockSize>: Sub<T::SerializedStateSize> + ArraySize,
SubSerializedStateSize<Sum<Sum<<T as SerializableState>::SerializedStateSize, U1>, <T as BlockSizeUser>::BlockSize>, T>: Sub<U1> + ArraySize,
Diff<SubSerializedStateSize<Sum<Sum<<T as SerializableState>::SerializedStateSize, U1>, <T as BlockSizeUser>::BlockSize>, T>, U1>: ArraySize,
impl<T> SerializableState for CoreWrapper<T>where
T: BufferKindUser + SerializableState,
T::BlockSize: IsLess<U256>,
Le<T::BlockSize, U256>: NonZero,
T::SerializedStateSize: Add<U1>,
Sum<T::SerializedStateSize, U1>: Add<T::BlockSize> + ArraySize,
Sum<Sum<<T as SerializableState>::SerializedStateSize, U1>, <T as BlockSizeUser>::BlockSize>: Sub<T::SerializedStateSize> + ArraySize,
SubSerializedStateSize<Sum<Sum<<T as SerializableState>::SerializedStateSize, U1>, <T as BlockSizeUser>::BlockSize>, T>: Sub<U1> + ArraySize,
Diff<SubSerializedStateSize<Sum<Sum<<T as SerializableState>::SerializedStateSize, U1>, <T as BlockSizeUser>::BlockSize>, T>, U1>: ArraySize,
§type SerializedStateSize = <<<T as SerializableState>::SerializedStateSize as Add<UInt<UTerm, B1>>>::Output as Add<<T as BlockSizeUser>::BlockSize>>::Output
type SerializedStateSize = <<<T as SerializableState>::SerializedStateSize as Add<UInt<UTerm, B1>>>::Output as Add<<T as BlockSizeUser>::BlockSize>>::Output
Size of serialized internal state.
source§fn serialize(&self) -> SerializedState<Self>
fn serialize(&self) -> SerializedState<Self>
Serialize and return internal state.
source§fn deserialize(
serialized_state: &SerializedState<Self>,
) -> Result<Self, DeserializeStateError>
fn deserialize( serialized_state: &SerializedState<Self>, ) -> Result<Self, DeserializeStateError>
Create an object from serialized internal state.
source§impl<T: BufferKindUser + UpdateCore> Update for CoreWrapper<T>
impl<T: BufferKindUser + UpdateCore> Update for CoreWrapper<T>
source§impl<T: BufferKindUser + UpdateCore> Write for CoreWrapper<T>
Available on crate feature std only.
impl<T: BufferKindUser + UpdateCore> Write for CoreWrapper<T>
Available on crate feature
std only.source§fn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
source§fn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered
contents reach their destination. Read more
source§fn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
🔬This is a nightly-only experimental API. (
can_vector)1.0.0 · source§fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
source§fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
🔬This is a nightly-only experimental API. (
write_all_vectored)Attempts to write multiple buffers into this writer. Read more
impl<T: BufferKindUser + HashMarker> HashMarker for CoreWrapper<T>
impl<T: BufferKindUser + MacMarker> MacMarker for CoreWrapper<T>
Available on crate feature
mac only.impl<T: BufferKindUser + ZeroizeOnDrop> ZeroizeOnDrop for CoreWrapper<T>
Available on crate feature
zeroize only.Auto Trait Implementations§
impl<T> Freeze for CoreWrapper<T>where
T: Freeze,
<<T as BufferKindUser>::BufferKind as Sealed>::Pos: Freeze,
<<T as BlockSizeUser>::BlockSize as ArraySize>::ArrayType<u8>: Freeze,
impl<T> RefUnwindSafe for CoreWrapper<T>where
T: RefUnwindSafe,
<<T as BufferKindUser>::BufferKind as Sealed>::Pos: RefUnwindSafe,
<<T as BlockSizeUser>::BlockSize as ArraySize>::ArrayType<u8>: RefUnwindSafe,
impl<T> Send for CoreWrapper<T>
impl<T> Sync for CoreWrapper<T>
impl<T> Unpin for CoreWrapper<T>where
T: Unpin,
<<T as BufferKindUser>::BufferKind as Sealed>::Pos: Unpin,
<<T as BlockSizeUser>::BlockSize as ArraySize>::ArrayType<u8>: Unpin,
impl<T> UnwindSafe for CoreWrapper<T>where
T: UnwindSafe,
<<T as BufferKindUser>::BufferKind as Sealed>::Pos: UnwindSafe,
<<T as BlockSizeUser>::BlockSize as ArraySize>::ArrayType<u8>: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)source§impl<D> Digest for D
impl<D> Digest for D
source§fn new_with_prefix(data: impl AsRef<[u8]>) -> Dwhere
D: Default,
fn new_with_prefix(data: impl AsRef<[u8]>) -> Dwhere
D: Default,
Create new hasher instance which has processed the provided data.
source§fn chain_update(self, data: impl AsRef<[u8]>) -> D
fn chain_update(self, data: impl AsRef<[u8]>) -> D
Process input data in a chained manner.
source§fn finalize(self) -> Array<u8, <D as OutputSizeUser>::OutputSize>
fn finalize(self) -> Array<u8, <D as OutputSizeUser>::OutputSize>
Retrieve result and consume hasher instance.
source§fn finalize_into(self, out: &mut Array<u8, <D as OutputSizeUser>::OutputSize>)
fn finalize_into(self, out: &mut Array<u8, <D as OutputSizeUser>::OutputSize>)
Write result into provided array and consume the hasher instance.
source§fn finalize_reset(&mut self) -> Array<u8, <D as OutputSizeUser>::OutputSize>where
D: FixedOutputReset,
fn finalize_reset(&mut self) -> Array<u8, <D as OutputSizeUser>::OutputSize>where
D: FixedOutputReset,
Retrieve result and reset hasher instance.
source§fn finalize_into_reset(
&mut self,
out: &mut 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,
Write result into provided array and reset the hasher instance.
source§fn output_size() -> usize
fn output_size() -> usize
Get output size of the hasher
source§fn digest(
data: impl AsRef<[u8]>,
) -> Array<u8, <D as OutputSizeUser>::OutputSize>
fn digest( data: impl AsRef<[u8]>, ) -> Array<u8, <D as OutputSizeUser>::OutputSize>
Compute hash of
data.source§impl<T> DynAssociatedOid for Twhere
T: AssociatedOid,
impl<T> DynAssociatedOid for Twhere
T: AssociatedOid,
source§fn oid(&self) -> ObjectIdentifier
fn oid(&self) -> ObjectIdentifier
Get the OID associated with this value.
source§impl<D> DynDigest for D
impl<D> DynDigest for D
source§fn finalize_reset(&mut self) -> Box<[u8]>
fn finalize_reset(&mut self) -> Box<[u8]>
Available on crate feature
alloc only.Retrieve result and reset hasher instance
source§fn finalize(self: Box<D>) -> Box<[u8]>
fn finalize(self: Box<D>) -> Box<[u8]>
Available on crate feature
alloc only.Retrieve result and consume boxed hasher instance
source§fn finalize_into(self, buf: &mut [u8]) -> Result<(), InvalidBufferSize>
fn finalize_into(self, buf: &mut [u8]) -> Result<(), InvalidBufferSize>
Write result into provided array and consume the hasher instance. Read more
source§fn finalize_into_reset(
&mut self,
buf: &mut [u8],
) -> Result<(), InvalidBufferSize>
fn finalize_into_reset( &mut self, buf: &mut [u8], ) -> Result<(), InvalidBufferSize>
Write result into provided array and reset the hasher instance. Read more
source§fn output_size(&self) -> usize
fn output_size(&self) -> usize
Get output size of the hasher
source§impl<T> Mac for T
impl<T> Mac for T
source§fn update(&mut self, data: &[u8])
fn update(&mut self, data: &[u8])
Available on crate feature
mac only.Update state using the provided data.
source§fn chain_update(self, data: impl AsRef<[u8]>) -> T
fn chain_update(self, data: impl AsRef<[u8]>) -> T
Available on crate feature
mac only.Process input data in a chained manner.
source§fn finalize_reset(&mut self) -> CtOutput<T>where
T: FixedOutputReset,
fn finalize_reset(&mut self) -> CtOutput<T>where
T: FixedOutputReset,
Available on crate feature
mac only.source§fn reset(&mut self)where
T: Reset,
fn reset(&mut self)where
T: Reset,
Available on crate feature
mac only.Reset MAC instance to its initial state.
source§fn verify(
self,
tag: &Array<u8, <T as OutputSizeUser>::OutputSize>,
) -> Result<(), MacError>
fn verify( self, tag: &Array<u8, <T as OutputSizeUser>::OutputSize>, ) -> Result<(), MacError>
Available on crate feature
mac only.Check if tag/code value is correct for the processed input.
source§fn verify_reset(
&mut self,
tag: &Array<u8, <T as OutputSizeUser>::OutputSize>,
) -> Result<(), MacError>where
T: FixedOutputReset,
fn verify_reset(
&mut self,
tag: &Array<u8, <T as OutputSizeUser>::OutputSize>,
) -> Result<(), MacError>where
T: FixedOutputReset,
Available on crate feature
mac only.Check if tag/code value is correct for the processed input and reset
Mac instance.source§fn verify_slice(self, tag: &[u8]) -> Result<(), MacError>
fn verify_slice(self, tag: &[u8]) -> Result<(), MacError>
Available on crate feature
mac only.Check truncated tag correctness using all bytes
of calculated tag. Read more
source§fn verify_slice_reset(&mut self, tag: &[u8]) -> Result<(), MacError>where
T: FixedOutputReset,
fn verify_slice_reset(&mut self, tag: &[u8]) -> Result<(), MacError>where
T: FixedOutputReset,
Available on crate feature
mac only.