1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
pub trait Hasher {
const LENGTH: usize;
fn digest(&self, data: &[u8]) -> Vec<u8>;
}
#[cfg(feature = "hash-keccak")]
mod hash_keccak;
#[cfg(feature = "hash-keccak")]
pub use hash_keccak::HasherKeccak;
#[cfg(feature = "hash-blake2b")]
mod hash_blake2b;
#[cfg(feature = "hash-blake2b")]
pub use hash_blake2b::HasherBlake2B;
#[cfg(feature = "hash-sm3")]
mod hash_sm3;
#[cfg(feature = "hash-sm3")]
pub use hash_sm3::HasherSM3;