5 个稳定版本
2.0.4 | 2021 年 3 月 20 日 |
---|---|
2.0.2 | 2021 年 2 月 6 日 |
2.0.0 | 2020 年 9 月 17 日 |
#9 in #kana
30MB
2K SLoC
包含 (静态库, 27MB) cli/lib/libkhash.a, (ELF 库, 3.5MB) cli/lib/libkhash.so
khash - 假名助记符哈希
此库可以以假名格式打印各种摘要的盐值哈希。助记符可以从切片或从流中生成。
它具有在此处记录的 Rust API,以及 C FFI 绑定和 C 头文件(请参阅 include/
。)
摘要
可用的摘要包括
- SHA256 截断到前 64 位(8 字节)(默认摘要)
- SHA256 全部
- CRC64(需要启用 "crc" 默认功能)
- CRC32(需要启用 "crc" 默认功能)
盐值
摘要的盐值选项包括
- 硬编码的嵌入 32 字节盐(默认值)
- 编译时固定的 32 字节盐
- 运行时固定的 32 字节盐
- 动态大小的运行时盐
- 无盐值(如果有的话)直接在所有数据之后输入摘要中。(请参阅
ctx
和salt
模块)。
从任意数据生成假名助记符
要使用助记符生成算法处理任何二进制数据而不是仅处理哈希输出,提供了 Digest
迭代器类型。可以从实现 std::io::Read
的任何类型创建 Digest
迭代器,它从流中读取 kana 助记符直到其结束。
let input = "Hello world!";
let mnemonic: String = Digest::new(&mut input.as_bytes()).collect(); // Read the bytes from the `input` string and collect the kana mnemonic into a `String`