23个版本
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月22日 |
0.5.2 | 2017年6月13日 |
#2041 in 加密学
3,599,755 monthly downloads
在 3,029 个crate中使用 (372 个直接使用)
23KB
432 代码行
RustCrypto: MD5
MD5加密哈希算法的纯Rust实现。
⚠️ 安全警告
此crate提供用于与强制使用MD5的协议和系统进行旧版互操作的目的。
但是,MD5是 加密上已破损且不适合进一步使用。
针对MD5的碰撞攻击既实用又简单,并且已经发现了针对MD5的预映像抵抗的理论攻击 [1]。
RFC 6151建议不要设计基于MD5的新IETF协议,包括HMAC-MD5。
示例
use md5::{Md5, Digest};
use hex_literal::hex;
let mut hasher = Md5::new();
hasher.update(b"hello world");
let hash = hasher.finalize();
assert_eq!(hash, hex!("5eb63bbbe01eeed093cb22bb8f5acdc3"));
// Hex-encode hash using https://docs.rs/base16ct
let hex_hash = base16ct::lower::encode_string(&hash);
assert_eq!(hex_hash, "5eb63bbbe01eeed093cb22bb8f5acdc3");
还可以查看RustCrypto/hashes的readme中的示例部分。
最低支持的Rust版本
Rust 1.72 或更高。
最低支持的Rust版本可能会在未来更改,但将通过小版本号升级来完成。
SemVer策略
- 此库的所有默认功能都受SemVer保护
- MSRV被视为不受SemVer约束,如上所述
许可证
此crate的许可证为以下之一
任选其一。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义,任何有意提交以包含在您的工作中的贡献,都应按上述方式双重许可,不附加任何额外条款或条件。
依赖项
~295–510KB
~12K SLoC