22次发布
0.11.0-pre.4 | 2024年7月27日 |
---|---|
0.11.0-pre.2 | 2024年1月19日 |
0.10.4 | 2022年9月2日 |
0.10.1 | 2022年2月17日 |
0.3.0 | 2016年11月17日 |
#2335 in 加密学
100,123 monthly downloads
用于 27 crates (19 directly)
63KB
2.5K SLoC
RustCrypto: Whirlpool
Whirlpool加密哈希算法的纯Rust实现。
这是由NESSIE(新欧洲签名、完整性和加密方案;一个欧洲研究项目)推荐的算法。
Whirlpool使用的常数两次更改(2001年和2003年)——这个crate只实现了最新的标准。两个较老的Whirlpool实现(有时称为Whirlpool-0(2001年之前)和Whirlpool-T(2003年之前))实际上使用得不多(两者都从未被NESSIE推荐)。
有关详细信息,请参阅此 页面。
示例
use whirlpool::{Whirlpool, Digest};
use hex_literal::hex;
let mut hasher = Whirlpool::new();
hasher.update(b"Hello Whirlpool");
let hash = hasher.finalize();
assert_eq!(hash, hex!(
"8eaccdc136903c458ea0b1376be2a5fc9dc5b8ce8892a3b4f43366e2610c206c"
"a373816495e63db0fff2ff25f75aa7162f332c9f518c3036456502a8414d300a"
));
// Hex-encode hash using https://docs.rs/base16ct
let hex_hash = base16ct::lower::encode_string(&hash);
assert_eq!(
hex_hash,
"8eaccdc136903c458ea0b1376be2a5fc9dc5b8ce8892a3b4f43366e2610c206c\
a373816495e63db0fff2ff25f75aa7162f332c9f518c3036456502a8414d300a",
);
还可以参见RustCrypto/hashes的readme中的示例部分。
最低支持的Rust版本
Rust 1.71 或更高。
最低支持的Rust版本可能在将来更改,但将以较小的版本号提升的方式完成。
SemVer策略
- 此库的所有默认功能都受SemVer保护
- 如上所述,MSRV被视为SemVer的例外
许可证
该crate根据以下任一许可证授权
任选其一。
贡献
除非您明确声明,否则您提交的任何有意包含在作品中的贡献,根据Apache-2.0许可证定义,应如上所述双许可,不附加任何其他条款或条件。
依赖项
~295–460KB
~11K SLoC