Trait crypto::digest::Digest [-] [+] [src]

pub trait Digest {
    fn input(&mut self, input: &[u8]);
    fn result(&mut self, out: &mut [u8]);
    fn reset(&mut self);
    fn output_bits(&self) -> usize;
    fn block_size(&self) -> usize;

    fn output_bytes(&self) -> usize { ... }
    fn input_str(&mut self, input: &str) { ... }
    fn result_str(&mut self) -> String { ... }
}

The Digest trait specifies an interface common to digest functions, such as SHA-1 and the SHA-2 family of digest functions.

Required Methods

fn input(&mut self, input: &[u8])

Provide message data.

Arguments

  • input - A vector of message data

fn result(&mut self, out: &mut [u8])

Retrieve the digest result. This method may be called multiple times.

Arguments

  • out - the vector to hold the result. Must be large enough to contain output_bits().

fn reset(&mut self)

Reset the digest. This method must be called after result() and before supplying more data.

fn output_bits(&self) -> usize

Get the output size in bits.

fn block_size(&self) -> usize

Get the block size in bytes.

Provided Methods

fn output_bytes(&self) -> usize

Get the output size in bytes.

fn input_str(&mut self, input: &str)

Convenience function that feeds a string into a digest.

Arguments

  • input The string to feed into the digest

fn result_str(&mut self) -> String

Convenience function that retrieves the result of a digest as a String in hexadecimal format.

Implementors