5 个稳定版本

2.0.4 2021 年 3 月 20 日
2.0.2 2021 年 2 月 6 日
2.0.0 2020 年 9 月 17 日

#9 in #kana

GPL-3.0-or-later

30MB
2K SLoC

Rust 1.5K SLoC // 0.0% comments Common Lisp 177 SLoC C 155 SLoC JavaScript 138 SLoC // 0.1% comments

包含 (静态库, 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 字节盐
  • 动态大小的运行时盐
  • 无盐值(如果有的话)直接在所有数据之后输入摘要中。(请参阅 ctxsalt 模块)。

从任意数据生成假名助记符

要使用助记符生成算法处理任何二进制数据而不是仅处理哈希输出,提供了 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` 

依赖项