ytls_rustcrypto/hasher/
sha384.rs

1//! yTLS RustCrypto Hashers
2
3use sha2::{Digest, Sha384};
4use ytls_traits::CryptoSha384TranscriptProcessor;
5
6/// RustCrypto Sha384Hasher
7pub struct Sha384Hasher {
8    hasher: Sha384,
9}
10
11impl Sha384Hasher {
12    pub fn sha384_init() -> Self {
13        let hasher = Sha384::new();
14        Sha384Hasher { hasher }
15    }
16}
17
18impl CryptoSha384TranscriptProcessor for Sha384Hasher {
19    fn sha384_update(&mut self, d: &[u8]) -> () {
20        self.hasher.update(d);
21    }
22    fn sha384_finalize(self) -> [u8; 48] {
23        self.hasher.finalize().into()
24    }
25}