4 个版本
使用旧 Rust 2015
0.2.1 | 2016 年 10 月 2 日 |
---|---|
0.2.0 | 2016 年 9 月 5 日 |
0.1.1 | 2016 年 9 月 4 日 |
0.1.0 | 2016 年 9 月 4 日 |
#460 在 身份验证
141 每月下载量
125KB
2K SLoC
Tripcode
一个用于在图板和文本板上生成 tripcodes 的 Rust 库。
兼容性
此 crate 与以下格式的 tripcodes 兼容
- 4chan 的普通(非安全)tripcode
- 2channel 的 tripcodes
- 10 位 tripcodes(10桁トリップ)
- Nama key tripcodes(生キートリップ)
- 12 位 tripcodes(12桁トリップ)
- 2ch.sc 的 tripcodes
- 15 位 tripcodes(15桁トリップ)
- 片假名 tripcodes(カタカナトリップ)
用法
要使用此 crate,请将以下内容添加到您的项目 Cargo.toml
[dependencies]
tripcode = "0.2"
并将此内容添加到您的 crate 根目录
extern crate tripcode;
示例
use tripcode::*;
let mut tripcode;
// 4chan's tripcode.
tripcode = Fourchan::generate(&"password");
assert_eq!("ozOtJW9BFA", &tripcode);
// 2channel (Monazilla)'s tripcode. This function automatically selects the proper hashing algorithm.
tripcode = Mona::generate(&"7 bytes");
assert_eq!("W/RvZlE2K.", &tripcode);
tripcode = Mona::generate(&"twelve bytes");
assert_eq!("t+lnR7LBqNQY", &tripcode);
tripcode = Mona::generate(&"#1145145554560721..");
assert_eq!("14cvFmVHg2", &tripcode);
// 2channel's 10-character tripcode (10桁トリップ).
tripcode = Mona10::generate(&"password longer than 12 bytes");
assert_eq!("ozOtJW9BFA", &tripcode);
// 2channel's nama key tripcode (生キートリップ).
// This generator is failable so we use `try_generate()` method, which yields an `Option<String>`.
tripcode = MonaRaw::try_generate(&"#0123456789ABCDEF./").unwrap();
assert_eq!(&"IP9Lda5FPc", &tripcode);
// 2channel's 12-character tripcode (12桁トリップ).
tripcode = Mona12::generate(&"<12 bytes");
assert_eq!("/9L00Vb1PBcb", &tripcode);
tripcode
命令
此 crate 还提供了一种简单的命令行工具,用于生成 tripcodes。
要安装此命令,请在您的 shell 中运行以下命令
cargo install tripcode
该命令可以从参数
$ tripcode a b c
ZnBI2EKkq.
taAZ7oPCCM
wG1CV58ydQ
或从 stdin(以换行符分隔)中获取密码
$ echo -e 'd\ne\nf' | tripcode -f
taZqHR8ods
xKvzozvsSk
bb6OCCHf8E
该命令也支持非 UTF-8 编码
$ echo トリップ | iconv -t sjis | tripcode -f
XSSH/ryx32
默认情况下,该命令用于生成 4chan 的 tripcodes。您可以使用 --type=2ch
选项生成 2channel 的 tripcodes。
依赖关系
~4MB
~53K SLoC