Add Keccak hasher (#6101)

* fix keccak hasher

* Update hasher.rs

Co-authored-by: Gavin Wood <i@gavwood.com>
This commit is contained in:
satellitex
2020-05-22 02:32:23 +09:00
committed by GitHub
parent aa95c596e6
commit ab9ff537cd
4 changed files with 59 additions and 0 deletions
+20
View File
@@ -36,3 +36,23 @@ pub mod blake2 {
}
}
}
pub mod keccak {
use hash_db::Hasher;
use hash256_std_hasher::Hash256StdHasher;
use crate::hash::H256;
/// Concrete implementation of Hasher using Keccak 256-bit hashes
#[derive(Debug)]
pub struct KeccakHasher;
impl Hasher for KeccakHasher {
type Out = H256;
type StdHasher = Hash256StdHasher;
const LENGTH: usize = 32;
fn hash(x: &[u8]) -> Self::Out {
crate::hashing::keccak_256(x).into()
}
}
}
+2
View File
@@ -83,6 +83,8 @@ pub use crypto::{DeriveJunction, Pair, Public};
pub use hash_db::Hasher;
#[cfg(feature = "std")]
pub use self::hasher::blake2::Blake2Hasher;
#[cfg(feature = "std")]
pub use self::hasher::keccak::KeccakHasher;
pub use sp_storage as storage;