fuel_merkle/common/hash.rs
1use super::Bytes32;
2
3pub fn sum<T: AsRef<[u8]>>(data: T) -> Bytes32 {
4 use digest::Digest;
5 let mut hash = sha2::Sha256::new();
6 hash.update(data.as_ref());
7 hash.finalize().into()
8}
9
10pub fn sum_iter<I: IntoIterator<Item = T>, T: AsRef<[u8]>>(iterator: I) -> Bytes32 {
11 use digest::Digest;
12 let mut hash = sha2::Sha256::new();
13 for data in iterator {
14 hash.update(data.as_ref());
15 }
16 hash.finalize().into()
17}