5个版本 (3个重大更新)

0.4.1 2022年2月17日
0.4.0 2021年12月7日
0.3.0 2020年6月12日
0.2.0 2019年2月26日
0.1.0 2019年2月25日

#2604 in 密码学

Download history 506/week @ 2024-03-13 504/week @ 2024-03-20 272/week @ 2024-03-27 333/week @ 2024-04-03 507/week @ 2024-04-10 333/week @ 2024-04-17 477/week @ 2024-04-24 393/week @ 2024-05-01 396/week @ 2024-05-08 388/week @ 2024-05-15 435/week @ 2024-05-22 416/week @ 2024-05-29 532/week @ 2024-06-05 390/week @ 2024-06-12 464/week @ 2024-06-19 349/week @ 2024-06-26

1,810 每月下载量
5 crates 中使用

MIT/Apache

21KB
342 代码行

RustCrypto: Shabal

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

Shabal密码哈希算法的纯Rust实现。

文档

关于

Shabal标准中指定了5个标准算法

  • Shabal192,这是将结果截断到192位的Shabal算法
  • Shabal224,这是将结果截断到224位的Shabal算法
  • Shabal256,这是将结果截断到256位的Shabal算法。
  • Shabal384,这是将结果截断到384位的Shabal算法。
  • Shabal512,这是不截断结果的Shabal算法。

有一个Shabal算法。所有变体都有不同的初始化,除了Shabal512之外,所有变体都会截断结果。

用法

use shabal::{Shabal256, Digest};

// create a Shabal256 hasher instance
let mut hasher = Shabal256::new();

// process input message
hasher.input(b"helloworld");

// acquire hash digest in the form of GenericArray,
// which in this case is equivalent to [u8; 32]
let result = hasher.result();
assert_eq!(result[..], hex!("d945dee21ffca23ac232763aa9cac6c15805f144db9d6c97395437e01c8595a8"));

最低支持的Rust版本

Rust 1.41 或更高。

最低支持的Rust版本可能会在未来改变,但将会通过小版本号增加来完成。

SemVer策略

  • 此库的所有默认功能均受SemVer保护
  • 如上所述,MSRV被视为免于SemVer

许可证

许可如下

任选其一。

贡献

除非您明确说明,否则您提交的任何有意包含在本作品中的贡献,如Apache-2.0许可证中定义的,将根据上述条款双许可,不附加任何额外的条款或条件。

依赖关系

~330KB