27次发布
0.11.0-pre.4 | 2024年7月26日 |
---|---|
0.11.0-pre.3 | 2024年2月1日 |
0.11.0-pre.2 | 2024年1月17日 |
0.10.6 | 2023年9月21日 |
0.0.3 | 2014年11月21日 |
#6 in 加密学
4,905,001 每月下载量
用于 5,879 个crate(574直接使用)
32KB
669 行
RustCrypto: SHA-1
SHA-1加密哈希算法的纯Rust实现。
🚨 警告:加密已损坏!🚨
SHA-1哈希函数应被视为加密已损坏,不适合在任何安全关键用途中进一步使用,因为它实际上容易受到选择前缀冲突的影响。
我们只提供此crate以实现向后兼容性。
如果可能,请使用sha1-checked crate,尽管它较慢,但它提供了检测潜在冲突以及生成替代安全哈希的能力。
示例
一次性API
use hex_literal::hex;
use sha1::{Sha1, Digest};
let result = Sha1::digest(b"hello world");
assert_eq!(result, hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"));
增量API
use hex_literal::hex;
use sha1::{Sha1, Digest};
let mut hasher = Sha1::new();
hasher.update(b"hello world");
let hash = hasher.finalize();
assert_eq!(hash, hex!("2aae6c35c94fcfb415dbe95f408b9ce91ee846ed"));
// Hex-encode hash using https://docs.rs/base16ct
let hex_hash = base16ct::lower::encode_string(&hash);
assert_eq!(hex_hash, "2aae6c35c94fcfb415dbe95f408b9ce91ee846ed");
另请参阅RustCrypto/hashes的readme中的示例部分。
最低支持的Rust版本
Rust 1.72 或更高。
最低支持的Rust版本可能在将来更改,但它将以次要版本号的提升来完成。
SemVer策略
- 此库的所有默认功能都受SemVer保护
- MSRV被视为免于SemVer,如上所述
许可证
此crate受以下之一许可
任选其一。
贡献
除非你明确声明,否则根据Apache-2.0许可证定义的,你有意提交给作品并由你包括在内的任何贡献,将按照上述方式双重许可,不附加任何额外条款或条件。
依赖关系
~310–530KB
~12K SLoC