pub trait DigestAlgorithm<E, I, T>{
// Required methods
fn digest(data: &[T]) -> Result<T, MerkleTreeError>;
fn digest_leaf(pos: &I, elem: &E) -> Result<T, MerkleTreeError>;
}
Expand description
Merkle tree hash function WARN: it’s important to domain separate the two digest functions. Otherwise, you may suffer from the length extension attack.
Required Methods§
Sourcefn digest(data: &[T]) -> Result<T, MerkleTreeError>
fn digest(data: &[T]) -> Result<T, MerkleTreeError>
Digest a list of values
Sourcefn digest_leaf(pos: &I, elem: &E) -> Result<T, MerkleTreeError>
fn digest_leaf(pos: &I, elem: &E) -> Result<T, MerkleTreeError>
Digest an indexed element
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.