Skip to main content

Digest

Trait Digest 

Source
pub trait Digest {
    type Handle: Copy;
    type Error;

    // Required methods
    fn resolve(
        &self,
        algorithm: DigestAlgorithm<'_>,
        execution: &Memory,
    ) -> Result<Option<ResolvedDigest<Self::Handle>>, Self::Error>;
    fn matches(
        &self,
        handle: Self::Handle,
        input: &[u8],
        expected: &[u8],
        execution: &Memory,
    ) -> Result<bool, Self::Error>;
}
Expand description

The consumer’s selected cryptographic provider and compiled algorithm policy. Every input-derived callback scan/allocation/hash/comparison is admitted through the supplied execution domain before work begins. A fixed output reservation does not qualify opaque custom-provider internal allocations.

Required Associated Types§

Source

type Handle: Copy

Copyable resolved algorithm capability.

Source

type Error

Original provider or resource error, never collapsed into mismatch.

Required Methods§

Source

fn resolve( &self, algorithm: DigestAlgorithm<'_>, execution: &Memory, ) -> Result<Option<ResolvedDigest<Self::Handle>>, Self::Error>

Resolve original identifier/parameters or protocol-imposed SHA-1.

Source

fn matches( &self, handle: Self::Handle, input: &[u8], expected: &[u8], execution: &Memory, ) -> Result<bool, Self::Error>

Hash original bytes and compare with an already width-checked expected value. No owned-output conversion or extra allocation is required by core.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§