Struct ring::digest::Context
[−]
[src]
pub struct Context {
pub algorithm: &'static Algorithm,
// some fields omitted
}A context for multi-step (Init-Update-Finish) digest calculations.
C analog: EVP_MD_CTX.
Examples
use ring::digest; let one_shot = digest::digest(&digest::SHA384, b"hello, world"); let mut ctx = digest::Context::new(&digest::SHA384); ctx.update(b"hello"); ctx.update(b", "); ctx.update(b"world"); let multi_part = ctx.finish(); assert_eq!(&one_shot.as_ref(), &multi_part.as_ref());
Fields
algorithm: &'static Algorithm
The context's algorithm.
Methods
impl Context[src]
fn new(algorithm: &'static Algorithm) -> Context
Constructs a new context.
C analogs: EVP_DigestInit, EVP_DigestInit_ex
fn update(&mut self, data: &[u8])
Updates the digest with all the data in data. update may be called
zero or more times until finish is called. It must not be called
after finish has been called.
C analog: EVP_DigestUpdate
fn finish(self) -> Digest
Finalizes the digest calculation and returns the digest value. finish
consumes the context so it cannot be (mis-)used after finish has been
called.
C analogs: EVP_DigestFinal, EVP_DigestFinal_ex
fn algorithm(&self) -> &'static Algorithm
The algorithm that this context is using.
Trait Implementations
impl Clone for Context[src]
fn clone(&self) -> Context
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more