11个不稳定版本 (3个破坏性更新)

0.6.1 2021年11月2日
0.6.0 2021年11月1日
0.5.0 2021年8月27日
0.4.5 2021年8月22日
0.2.1 2021年7月20日

#2060密码学

Download history 50/week @ 2024-04-02 32/week @ 2024-04-09 45/week @ 2024-04-16 9/week @ 2024-04-23 68/week @ 2024-05-21 37/week @ 2024-05-28 12/week @ 2024-06-04 15/week @ 2024-06-11 5/week @ 2024-06-18 8/week @ 2024-06-25 37/week @ 2024-07-02 2/week @ 2024-07-09 12/week @ 2024-07-16

61 每月下载量
用于 6 个crate (3 个直接使用)

MIT/Apache

8KB
126 行代码

Rust-HMAC-SHA

CI status creates.io version

SHA-{1,2,3}基于哈希的消息认证码算法的纯Rust实现。该项目可以视为RustCrypto crate的接口/封装,侧重于用户/开发者易用性。在#![no_std]环境中运行。

起源和动机

此仓库是的分支,作者@pantsman0/Philip Woolford。与原始版本不同,它除了支持SHA-1外,还支持SHA-2和SHA-3。此外,此分支使用RustCrypto提供的SHA实现。已开发以协助OOTP的开发。

用法

要导入rust-hmac-sha,请将以下内容添加到您的Cargo.toml中

[dependencies]
hmac-sha = "0.6"

以及任何其他满足Digest trait的Hash crate,例如sha3

[dependencies]
...
sha3 = { version = "0.9", default-features = false }

您可以使用rust-hmac-sha以这种方式使用

use hex;
use hmacsha::HmacSha;
use sha3::Sha3_256;

fn main() {
    let secret_key = "A very strong secret";
    let message = "My secret message";
    let mut hasher = HmacSha::from(secret_key, message, Sha3_256::default());
    let result = hasher.compute_digest();
    println!("{}", hex::encode(result));
}

贡献

欢迎任何贡献。这被实现为一个学习经验,任何建议都受到欢迎。

许可

此crate受MIT或Apache许可证的许可,与其RustCrypto家族的依赖项相同。原始crate受BSD 3-Clause许可证的许可,因为旧的依赖项sha1

依赖

~1MB
~21K SLoC