crypto_dispatch/algorithms/
sha2.rs1use crate::traits::HashDigestAlgorithm;
6use crate::AlgorithmError;
7use crypto_core::HashAlgorithm;
8
9pub struct Sha2_384Algo;
11
12pub struct Sha2_512Algo;
14
15impl HashDigestAlgorithm for Sha2_384Algo {
16 const ALG: HashAlgorithm = HashAlgorithm::Sha2_384;
17
18 fn digest(message: &[u8]) -> Result<Vec<u8>, AlgorithmError> {
19 let digest = crypto_sha2::digest_sha2_384(message);
20 Ok(digest.as_bytes().to_vec())
21 }
22}
23
24impl HashDigestAlgorithm for Sha2_512Algo {
25 const ALG: HashAlgorithm = HashAlgorithm::Sha2_512;
26
27 fn digest(message: &[u8]) -> Result<Vec<u8>, AlgorithmError> {
28 let digest = crypto_sha2::digest_sha2_512(message);
29 Ok(digest.as_bytes().to_vec())
30 }
31}