encryption/hash/
sha256.rs1use sha2::Sha256;
6
7use crate::hash::{NamedDigest, hasher};
8
9hasher!(Sha256Hasher, "sha256", "SHA-256 哈希器(无状态,可复用)。");
10
11impl NamedDigest for Sha256Hasher {
12 type Core = Sha256;
13}
14
15#[cfg(test)]
16mod tests {
17 use super::*;
18 use crate::contract::Hasher;
19
20 #[test]
21 fn matches_known_vector() {
22 let hasher = Sha256Hasher::new();
23 assert_eq!(
24 hasher.digest_hex(b"abc").unwrap(),
25 "ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad"
26 );
27 assert_eq!(hasher.digest(b"abc").unwrap().len(), 32);
28 }
29}