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 行代码