#hash #crypto

无std sm3

SM3 (OSCCA GM/T 0004-2012) 哈希函数

11个版本

0.5.0-pre.42024年7月26日
0.5.0-pre.32024年2月1日
0.5.0-pre.22024年1月17日
0.4.2 2023年5月16日
0.2.0 2020年1月23日

2543密码学 中排名

Download history 7813/week @ 2024-04-26 5145/week @ 2024-05-03 3833/week @ 2024-05-10 4338/week @ 2024-05-17 3867/week @ 2024-05-24 3583/week @ 2024-05-31 1640/week @ 2024-06-07 3089/week @ 2024-06-14 4337/week @ 2024-06-21 6365/week @ 2024-06-28 5903/week @ 2024-07-05 4173/week @ 2024-07-12 5797/week @ 2024-07-19 6043/week @ 2024-07-26 5175/week @ 2024-08-02 5014/week @ 2024-08-09

22,856 每月下载量
用于 26 个 crate (18 直接)

MIT/Apache

18KB
357

RustCrypto: SM3

crate Docs Apache2/MIT licensed Rust Version Project Chat Build Status

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