postgresql_archive/hasher/
sha2_256.rs1use crate::Result;
2use sha2::{Digest, Sha256};
3
4pub fn hash(data: &Vec<u8>) -> Result<String> {
9 let mut hasher = Sha256::new();
10 hasher.update(data);
11 let hash = hex::encode(hasher.finalize());
12 Ok(hash)
13}
14
15#[cfg(test)]
16mod tests {
17 use super::*;
18
19 #[test]
20 fn test_hash() -> Result<()> {
21 let data = vec![4, 2];
22 let hash = hash(&data)?;
23 assert_eq!(
24 "b7586d310e5efb1b7d10a917ba5af403adbf54f4f77fe7fdcb4880a95dac7e7e",
25 hash
26 );
27 Ok(())
28 }
29}