# [−][src]Struct ring::digest::Context

A context for multi-step (Init-Update-Finish) digest calculations.

# 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]

`impl Context`

`pub fn new(algorithm: &'static Algorithm) -> Context`

[src]

`pub fn new(algorithm: &'static Algorithm) -> Context`

Constructs a new context.

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

[src]

`pub 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.

`pub fn finish(self) -> Digest`

[src]

`pub 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.

`pub fn algorithm(&self) -> &'static Algorithm`

[src]

`pub fn algorithm(&self) -> &'static Algorithm`

The algorithm that this context is using.

## Trait Implementations

## Auto Trait Implementations

## Blanket Implementations

`impl<T, U> Into for T where`

U: From<T>,

[src]

`impl<T, U> Into for T where`

U: From<T>,

`impl<T> ToOwned for T where`

T: Clone,

[src]

`impl<T> ToOwned for T where`

T: Clone,

`impl<T> From for T`

[src]

`impl<T> From for T`

`impl<T, U> TryFrom for T where`

T: From<U>,

[src]

`impl<T, U> TryFrom for T where`

T: From<U>,

`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]

`fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>`

`impl<T> Borrow for T where`

T: ?Sized,

[src]

`impl<T> Borrow for T where`

T: ?Sized,

`impl<T> Any for T where`

T: 'static + ?Sized,

[src]

`impl<T> Any for T where`

T: 'static + ?Sized,

`fn get_type_id(&self) -> TypeId`

[src]

`fn get_type_id(&self) -> TypeId`

`impl<T> BorrowMut for T where`

T: ?Sized,

[src]

`impl<T> BorrowMut for T where`

T: ?Sized,

`fn borrow_mut(&mut self) -> &mut T`

[src]

`fn borrow_mut(&mut self) -> &mut T`

`impl<T, U> TryInto for T where`

U: TryFrom<T>,

[src]

`impl<T, U> TryInto for T where`

U: TryFrom<T>,