pub struct Digest { /* private fields */ }Expand description
A digest to validate a blob.
It contains the algorithm (like SHA256) and its expected value as
a hexadecimal string.
§Examples
const DIGEST: &str = "123456789012345678901234567890123456789012345678901234567890ABCD";
let digest = Digest::try_from(format!("sha256:{}", DIGEST)).unwrap();
assert_eq!(digest.algorithm(), DigestAlgorithm::SHA256);
assert_eq!(digest.hash_value(), DIGEST);Implementations§
Source§impl Digest
impl Digest
pub fn hash_value(&self) -> &str
pub fn algorithm(&self) -> DigestAlgorithm
Sourcepub fn wrap_reader<R: Read>(&self, reader: R) -> impl Read
pub fn wrap_reader<R: Read>(&self, reader: R) -> impl Read
Return a Read instance to compute its digest.
When all data from reader is consumed, it verifies that the
computed digest is the expected one. If not, it returns an
InvalidData
error.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Digest
impl<'de> Deserialize<'de> for Digest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Digest
Auto Trait Implementations§
impl Freeze for Digest
impl RefUnwindSafe for Digest
impl Send for Digest
impl Sync for Digest
impl Unpin for Digest
impl UnwindSafe for Digest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more