Trait blot::multihash::Multihash [−][src]
pub trait Multihash: Default + PartialEq { type Digester: Default; fn length(&self) -> u8; fn code(&self) -> Uvar; fn name(&self) -> &str; fn digest_primitive(&self, tag: Tag, bytes: &[u8]) -> Harvest; fn digest_collection(&self, tag: Tag, list: Vec<Vec<u8>>) -> Harvest; fn digester(&self) -> Self::Digester { ... } }
Multihash trait to be implemented by any algorithm used by Blot.
For example, the SHA3-512 algorithm:
use blot::multihash::{Sha3512, Multihash}; use blot::uvar::Uvar; let tag = Sha3512::default(); assert_eq!(tag.name(), "sha3-512"); assert_eq!(tag.code(), Uvar::new(vec![0x14])); assert_eq!(tag.length(), 64);
Associated Types
Required Methods
fn length(&self) -> u8
fn code(&self) -> Uvar
fn name(&self) -> &str
fn digest_primitive(&self, tag: Tag, bytes: &[u8]) -> Harvest
fn digest_collection(&self, tag: Tag, list: Vec<Vec<u8>>) -> Harvest
Provided Methods
Implementors
impl Multihash for Sha1 type Digester = Sha1;impl Multihash for Sha2256 type Digester = Sha256;impl Multihash for Sha2512 type Digester = Sha512;impl Multihash for Sha3512 type Digester = Sha3_512;impl Multihash for Sha3384 type Digester = Sha3_384;impl Multihash for Sha3256 type Digester = Sha3_256;impl Multihash for Sha3224 type Digester = Sha3_224;impl Multihash for Blake2b512 type Digester = Blake2b;impl Multihash for Blake2s256 type Digester = Blake2s;