2 个不稳定版本

0.2.0 2020 年 9 月 23 日
0.1.0 2020 年 9 月 21 日

#590 in 测试

MIT/Apache

15KB
331

Base32H

base32 的实现。遵循规范和来自 https://base32h.github.io/ 的测试用例

安装

cargo add base32h

用法

use base32h::{encode_binary_to_string, encode_to_string, decode_string_to_binary, decode_string};

assert_eq!(encode_to_string(1099511627775).unwrap(), "ZZZZZZZZ".to_owned());
assert_eq!(decode_string("ZZZZZZZZ"), Some(1099511627775));

assert_eq!(encode_binary_to_string(&[255, 255, 255, 255, 255, 255]), "0000007ZZZZZZZZZ".to_owned());
assert_eq!(decode_string_to_binary("zZzZzZzZ"), Vec::from([255, 255, 255, 255, 255]));

测试

运行: cargo test

基准测试

运行: cargo bench

模糊测试

安装 cargo fuzz

cargoinstall cargo-fuzz

运行模糊测试目标(必须是夜间构建)

  • cargo fuzz run encode_binary_to_string -j 8 // 8 是要使用的线程数
  • cargorun decode_string_to_binary -j 8
  • cargorun encode_to_string -j 8
  • cargorun decode_string -j 8

依赖项

~2MB
~48K SLoC