radix_common/crypto/
keccak256.rs1use crate::crypto::*;
2use sha3::{Digest, Keccak256};
3
4pub fn keccak256_hash<T: AsRef<[u8]>>(data: T) -> Hash {
5 let mut hasher = Keccak256::new();
6 hasher.update(data);
7 let hash = hasher.finalize();
8 Hash(hash.into())
9}
10
11#[cfg(test)]
12mod tests {
13 use super::*;
14 use sbor::rust::str::FromStr;
15
16 #[test]
17 fn test_keccak256_hash() {
18 let data = "Hello Radix";
19 let hash = keccak256_hash(data);
20 assert_eq!(
21 hash,
22 Hash::from_str("415942230ddb029416a4612818536de230d827cbac9646a0b26d9855a4c45587")
23 .unwrap()
24 );
25 }
26}