Trait sequoia_openpgp::crypto::hash::Digest[][src]

pub trait Digest: DynClone + Write + Send + Sync {
    fn algo(&self) -> HashAlgorithm;
fn digest_size(&self) -> usize;
fn update(&mut self, data: &[u8]);
fn digest(&mut self, digest: &mut [u8]) -> Result<()>; fn into_digest(self) -> Result<Vec<u8>>
    where
        Self: Sized
, { ... } }

Hasher capable of calculating a digest for the input byte stream.

This provides an abstract interface to the hash functions used in OpenPGP. Digests can be are created using HashAlgorithm::context.

Required methods

fn algo(&self) -> HashAlgorithm[src]

Returns the algorithm.

fn digest_size(&self) -> usize[src]

Size of the digest in bytes

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

Writes data into the hash function.

fn digest(&mut self, digest: &mut [u8]) -> Result<()>[src]

Finalizes the hash function and writes the digest into the provided slice.

Resets the hash function contexts.

digest must be at least self.digest_size() bytes large, otherwise the digest will be truncated.

Loading content...

Provided methods

fn into_digest(self) -> Result<Vec<u8>> where
    Self: Sized
[src]

Finalizes the hash function and computes the digest.

Loading content...

Implementations on Foreign Types

impl Digest for Sha1CD[src]

fn algo(&self) -> HashAlgorithm[src]

fn digest_size(&self) -> usize[src]

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

fn digest(&mut self, digest: &mut [u8]) -> Result<()>[src]

impl Digest for Sha224[src]

fn algo(&self) -> HashAlgorithm[src]

fn digest_size(&self) -> usize[src]

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

fn digest(&mut self, digest: &mut [u8]) -> Result<()>[src]

impl Digest for Sha256[src]

fn algo(&self) -> HashAlgorithm[src]

fn digest_size(&self) -> usize[src]

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

fn digest(&mut self, digest: &mut [u8]) -> Result<()>[src]

impl Digest for Sha384[src]

fn algo(&self) -> HashAlgorithm[src]

fn digest_size(&self) -> usize[src]

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

fn digest(&mut self, digest: &mut [u8]) -> Result<()>[src]

impl Digest for Sha512[src]

fn algo(&self) -> HashAlgorithm[src]

fn digest_size(&self) -> usize[src]

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

fn digest(&mut self, digest: &mut [u8]) -> Result<()>[src]

impl Digest for Sha1[src]

fn algo(&self) -> HashAlgorithm[src]

fn digest_size(&self) -> usize[src]

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

fn digest(&mut self, digest: &mut [u8]) -> Result<()>[src]

impl Digest for Md5[src]

fn algo(&self) -> HashAlgorithm[src]

fn digest_size(&self) -> usize[src]

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

fn digest(&mut self, digest: &mut [u8]) -> Result<()>[src]

impl Digest for Ripemd160[src]

fn algo(&self) -> HashAlgorithm[src]

fn digest_size(&self) -> usize[src]

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

fn digest(&mut self, digest: &mut [u8]) -> Result<()>[src]

impl Digest for Box<dyn Digest>[src]

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

Writes data into the hash function.

fn digest(&mut self, digest: &mut [u8]) -> Result<()>[src]

Finalizes the hash function and writes the digest into the provided slice.

Resets the hash function contexts.

digest must be at least self.digest_size() bytes large, otherwise the digest will be truncated.

fn algo(&self) -> HashAlgorithm[src]

fn digest_size(&self) -> usize[src]

Loading content...

Implementors

Loading content...