diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:06:37 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:06:37 +0000 |
commit | 246f239d9f40f633160f0c18f87a20922d4e77bb (patch) | |
tree | 5a88572663584b3d4d28e5a20e10abab1be40884 /vendor/digest-0.8.1/src/digest.rs | |
parent | Releasing progress-linux version 1.64.0+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-246f239d9f40f633160f0c18f87a20922d4e77bb.tar.xz rustc-246f239d9f40f633160f0c18f87a20922d4e77bb.zip |
Merging debian version 1.65.0+dfsg1-2.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | vendor/digest-0.8.1/src/digest.rs | 86 |
1 files changed, 0 insertions, 86 deletions
diff --git a/vendor/digest-0.8.1/src/digest.rs b/vendor/digest-0.8.1/src/digest.rs deleted file mode 100644 index 50128e13e..000000000 --- a/vendor/digest-0.8.1/src/digest.rs +++ /dev/null @@ -1,86 +0,0 @@ -use super::{Input, FixedOutput, Reset}; -use generic_array::{GenericArray, ArrayLength}; -use generic_array::typenum::Unsigned; - -/// The `Digest` trait specifies an interface common for digest functions. -/// -/// It's a convenience wrapper around `Input`, `FixedOutput`, `Reset`, `Clone`, -/// and `Default` traits. It also provides additional convenience methods. -pub trait Digest { - type OutputSize: ArrayLength<u8>; - /// Create new hasher instance - fn new() -> Self; - - /// Digest input data. - /// - /// This method can be called repeatedly for use with streaming messages. - fn input<B: AsRef<[u8]>>(&mut self, data: B); - - /// Digest input data in a chained manner. - fn chain<B: AsRef<[u8]>>(self, data: B) -> Self where Self: Sized; - - /// Retrieve result and consume hasher instance. - fn result(self) -> GenericArray<u8, Self::OutputSize>; - - /// Retrieve result and reset hasher instance. - /// - /// This method sometimes can be more efficient compared to hasher - /// re-creation. - fn result_reset(&mut self) -> GenericArray<u8, Self::OutputSize>; - - /// Reset hasher instance to its initial state. - fn reset(&mut self); - - /// Get output size of the hasher - fn output_size() -> usize; - - /// Convenience function to compute hash of the `data`. It will handle - /// hasher creation, data feeding and finalization. - /// - /// Example: - /// - /// ```rust,ignore - /// println!("{:x}", sha2::Sha256::digest(b"Hello world")); - /// ``` - fn digest(data: &[u8]) -> GenericArray<u8, Self::OutputSize>; -} - -impl<D: Input + FixedOutput + Reset + Clone + Default> Digest for D { - type OutputSize = <Self as FixedOutput>::OutputSize; - - fn new() -> Self { - Self::default() - } - - fn input<B: AsRef<[u8]>>(&mut self, data: B) { - Input::input(self, data); - } - - fn chain<B: AsRef<[u8]>>(self, data: B) -> Self where Self: Sized { - Input::chain(self, data) - } - - fn result(self) -> GenericArray<u8, Self::OutputSize> { - self.fixed_result() - } - - fn result_reset(&mut self) -> GenericArray<u8, Self::OutputSize> { - let res = self.clone().fixed_result(); - self.reset(); - res - } - - fn reset(&mut self) { - <Self as Reset>::reset(self) - } - - fn output_size() -> usize { - Self::OutputSize::to_usize() - } - - fn digest(data: &[u8]) -> GenericArray<u8, Self::OutputSize> { - let mut hasher = Self::default(); - Input::input(&mut hasher, data); - hasher.fixed_result() - } -} |