radix_common/crypto/
blake2b.rs

1use crate::crypto::*;
2use blake2::digest::{consts::U32, Digest};
3use blake2::Blake2b;
4
5pub type Blake2b256 = Blake2b<U32>;
6
7pub fn blake2b_256_hash<T: AsRef<[u8]>>(data: T) -> Hash {
8    Hash(Blake2b256::digest(data).into())
9}
10
11#[cfg(test)]
12mod tests {
13    use super::*;
14    use sbor::rust::str::FromStr;
15
16    #[test]
17    fn test_blake2b_hash() {
18        let data = "Hello Radix";
19        let hash = blake2b_256_hash(data);
20        assert_eq!(
21            hash,
22            Hash::from_str("48f1bd08444b5e713db9e14caac2faae71836786ac94d645b00679728202a935")
23                .unwrap()
24        );
25    }
26}