12 个版本 (4 个重大更改)
0.5.0 | 2020 年 10 月 1 日 |
---|---|
0.4.8 |
|
0.4.7 | 2020 年 9 月 18 日 |
0.4.5 | 2020 年 8 月 30 日 |
0.1.0 | 2020 年 6 月 18 日 |
#10 in #multi-hash
每月下载 21 次
在 7 个包中使用 (通过 tiny-cid)
43KB
800 代码行
tiny-multihash
multihash 在 Rust 中的实现。
目录
安装
首先将以下内容添加到您的 Cargo.toml
[dependencies]
tiny-multihash = "*"
然后运行 cargo build
。
用法
use tiny_multihash::{Multihash, MultihashDigest, SHA2_256};
fn main() {
let hash = Multihash::new(SHA2_256, b"my hash");
println!("{:?}", hash);
}
使用自定义代码表
您可以为特定应用生成自己的代码表
use tiny_multihash::derive::Multihash;
use tiny_multihash::{Hasher, MultihashDigest};
const FOO: u64 = 0x01;
const BAR: u64 = 0x02;
#[derive(Clone, Debug, Eq, Multihash, PartialEq)]
pub enum Multihash {
#[mh(code = FOO, hasher = tiny_multihash::Sha2_256)]
Foo(tiny_multihash::Sha2Digest<tiny_multihash::U32>),
#[mh(code = BAR, hasher = tiny_multihash::Sha2_512)]
Bar(tiny_multihash::Sha2Digest<tiny_multihash::U64>),
}
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
维护者
依赖
~0.2–1.4MB
~28K SLoC