[−][src]Struct ring::digest::Context
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]
pub fn new(algorithm: &'static Algorithm) -> Context
[src]
Constructs a new context.
C analogs: EVP_DigestInit
, EVP_DigestInit_ex
pub fn update(&mut self, data: &[u8])
[src]
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
pub fn finish(self) -> Digest
[src]
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
pub fn algorithm(&self) -> &'static Algorithm
[src]
The algorithm that this context is using.
Trait Implementations
Auto Trait Implementations
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
🔬 This is a nightly-only experimental API. (
try_from
)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
🔬 This is a nightly-only experimental API. (
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,