23 个版本
0.8.0 | 2022 年 9 月 20 日 |
---|---|
0.7.0 | 2021 年 1 月 5 日 |
0.6.1 | 2020 年 4 月 27 日 |
0.6.0 | 2020 年 3 月 16 日 |
0.1.0 | 2017 年 12 月 29 日 |
在 Rust 模式 中排名 #168
每月下载量 558,117
用于 2,069 个 包(直接使用 27 个)
38KB
845 行代码(不包括注释)
固定哈希
提供构建自定义固定大小哈希类型的宏。
示例
简单的 256 位(32 字节)哈希类型。
use fixed_hash::construct_fixed_hash;
construct_fixed_hash! {
/// My 256 bit hash type.
pub struct H256(32);
}
选择加入以在不同大小的哈希之间添加转换。
construct_fixed_hash!{ struct H256(32); }
construct_fixed_hash!{ struct H160(20); }
// auto-implement conversions between H256 and H160
impl_fixed_hash_conversions!(H256, H160);
// now use the generated conversions
assert_eq!(H256::from(H160::zero()), H256::zero());
assert_eq!(H160::from(H256::zero()), H160::zero());
可以为您的类型添加属性,例如使其可序列化。
construct_fixed_hash!{
/// My serializable hash type.
#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))]
struct H160(20);
}
特性
默认情况下,这是一个依赖于标准库的包。
对于 #[no_std]
环境,使用如下方式
fixed-hash = { version = "0.3", default-features = false }
可用特性
std
:使用标准库而不是核心库。- 使用此特性可以启用以下特性
rustc-hex/std
rand/std
byteorder/std
- 默认启用。
- 使用此特性可以启用以下特性
libc
:使用libc
实现PartialEq
和Ord
。- 默认启用。
rand
:提供基于rand
包的 API。- 默认启用。
byteorder
:提供基于byteorder
包的 API。- 默认启用。
quickcheck
:为哈希类型提供quickcheck
实现。- 默认禁用。
api-dummy
:为 API 文档生成一个模拟的哈希类型。- 在
docs.rs
中默认启用。
- 在
arbitrary
:允许从随机的非结构化输入中创建哈希。- 默认禁用。
依赖关系
~375–660KB
~11K 行代码