multihash implementation in Rust.
First add this to your Cargo.toml
toml
[dependencies]
tiny-multihash = "*"
Then run cargo build
.
```rust use tinymultihash::{Multihash, MultihashDigest, SHA2256};
fn main() { let hash = Multihash::new(SHA2_256, b"my hash"); println!("{:?}", hash); } ```
You can derive your own application specific code table:
```rust use tinymultihash::derive::Multihash; use tinymultihash::{Hasher, MultihashDigest};
const FOO: u64 = 0x01; const BAR: u64 = 0x02;
pub enum Multihash {
#[mh(code = FOO, hasher = tinymultihash::Sha2256)]
Foo(tinymultihash::Sha2Digest
fn main() { let hash = Multihash::new(FOO, b"my hash"); println!("{:?}", hash); } ```
SHA1
SHA2-256
SHA2-512
SHA3
/Keccak
Blake2b-256
/Blake2b-512
/Blake2s-128
/Blake2s-256