11个版本
0.5.0-pre.4 | 2024年7月26日 |
---|---|
0.5.0-pre.3 | 2024年2月1日 |
0.5.0-pre.2 | 2024年1月17日 |
0.4.2 | 2023年5月16日 |
0.2.0 | 2020年1月23日 |
2543 在 密码学 中排名
22,856 每月下载量
用于 26 个 crate (18 直接)
18KB
357 行
RustCrypto: SM3
OSCCA GM/T 0004-2012中定义的SM3密码学哈希函数的纯Rust实现。
示例
use sm3::{Digest, Sm3};
use hex_literal::hex;
let mut hasher = Sm3::new();
hasher.update(b"hello world");
let hash = hasher.finalize();
assert_eq!(hash, hex!("44f0061e69fa6fdfc290c494654a05dc0c053da7e5c52b84ef93a9d67d3fff88"));
// Hex-encode hash using https://docs.rs/base16ct
let hex_hash = base16ct::lower::encode_string(&hash);
assert_eq!(hex_hash, "44f0061e69fa6fdfc290c494654a05dc0c053da7e5c52b84ef93a9d67d3fff88");
还可以查看RustCrypto/hashes的readme中的示例部分。
最低支持的Rust版本
Rust 1.71 或更高。
最低支持的Rust版本可能在未来发生变化,但将通过小版本号提升来实现。
SemVer策略
- 此库的所有默认启用功能都受SemVer的保护
- MSRV如上所述被视为SemVer的例外
许可
此crate的许可协议为以下之一
任选其一。
贡献
除非你明确表示,否则你提交的任何有意包含在作品中的贡献,根据Apache-2.0许可的定义,均应按上述方式双许可,不附加任何额外条款或条件。
依赖项
~295–460KB
~11K SLoC