#sha-256 #hash #sha-2 #sha-512 #crypto

no-std hashes

Rust 实现的加密哈希函数算法

10 个版本

0.1.9 2023年1月7日
0.1.8 2023年1月7日

#454密码学

Download history 105/week @ 2024-04-06 193/week @ 2024-04-13 76/week @ 2024-04-20 45/week @ 2024-04-27 117/week @ 2024-05-04 104/week @ 2024-05-11 116/week @ 2024-05-18 105/week @ 2024-05-25 122/week @ 2024-06-01 139/week @ 2024-06-08 164/week @ 2024-06-15 239/week @ 2024-06-22 399/week @ 2024-06-29 300/week @ 2024-07-06 336/week @ 2024-07-13 361/week @ 2024-07-20

1,410 每月下载量
2 crate 中使用

MIT/Apache

51KB
1K SLoC

Rust 中的加密哈希函数

这是一个各种加密哈希函数的 Rust 实现。目前支持以下算法

  • djb2

  • sdbm

  • MD5

  • SHA-1

  • SHA-2-224

  • SHA-2-256

  • SHA-2-384

  • SHA-2-512

  • SHA-3-224

  • SHA-3-256

  • SHA-3-384

  • SHA-3-512

示例

以下是如何使用 sha2::sha256 哈希函数的示例

use hashes::sha2::sha256::hash;

fn main() {
    let s = "abc";

    let digest = hash(s.as_bytes());

    assert_eq!(
        digest.into_bytes(),
        [
            0xba, 0x78, 0x16, 0xbf, 0x8f, 0x01, 0xcf, 0xea, 0x41, 0x41, 0x40, 0xde, 0x5d, 0xae,
            0x22, 0x23, 0xb0, 0x03, 0x61, 0xa3, 0x96, 0x17, 0x7a, 0x9c, 0xb4, 0x10, 0xff, 0x61,
            0xf2, 0x00, 0x15, 0xad
        ]
    );
}

如果您想使用 Display、Debug 或 FromStr 来处理哈希函数的输出(即 Digest 结构),请启用 "std" 功能。

许可证

本项目采用 Apache License 2.0 和 MIT License 双重许可。您可以选择任一许可证使用本软件。

无运行时依赖

功能