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
.
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());
Constructs a new context.
C analogs: EVP_DigestInit
, EVP_DigestInit_ex
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
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
The algorithm that this context is using.
Performs copy-assignment from source
. Read more
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
🔬 This is a nightly-only experimental API. (try_from
)
The type returned in the event of a conversion error.
🔬 This is a nightly-only experimental API. (try_from
)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
Creates owned data from borrowed data, usually by cloning. Read more
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more