8 个稳定版本
1.1.3 | 2020年8月20日 |
---|---|
1.0.3 | 2020年8月19日 |
在 #pwd 中排名 #7
19KB
262 行代码(不包括注释)
随机密码生成器
什么是
这是一个关于生成随机密码的库。
为什么
为了学习 Rust。
要求
Rust 1.39 或更高版本。
试试看
$ git clone https://github.com/TENX-S/rand_pwd
$ cd rand_pwd
# Default case: amount of letters: 10, symbols: 2, numbers: 3
$ cargo run --release --example rpg_test
# Specify the parameter: amount of letters: 16, symbols: 2, numbers: 3
$ cargo run --release --example rpg_test 16 2 3
# Try a larger number!
$ cargo run --release --example rpg_test 200000 200 300
注意!
不要 尝试一个非常大的数字,即使程序允许,比如 i128::MAX
,除非你拥有极大的 RAM 和强大的 CPU,否则可能会因为未设置正确的 单元 数而导致 蓝屏或任何不可预测的行为,这可能会损害你的计算机硬件或未保存的文件。
在任何情况下,使用此库及其结果,任何人都不对您的行为负责。
用法
在 Cargo.toml
中
rand_pwd = "1"
您可能想使用最新的功能(可能需要 nightly Rust)
rand_pwd = { git = "https://github.com/TENX-S/rand_pwd", branch = "master" }
以下是部分 API 的简单演示
use rand_pwd::{ RandPwd, ToRandPwd };
fn main() {
let mut r_p = RandPwd::new(10, 2, 3); // For now, it's empty. Use method `join` to generate the password
r_p.join(); // Now `r_p` has some content, be kept in its `content` field
println!("{}", r_p); // Print it on the screen
// One possible output: 7$pA7yMCw=2DPGN
// Or you can build from an existing `&str`
let mut r_p = RandPwd::from("=tE)n5f`sidR>BV"); // 10 letters, 4 symbols, 1 number
// You can rebuild a random password and with equivalent amount of letters, symbols and numbers. Like below
r_p.join();
println!("{}", r_p);
// One possible output: qS`Xlyhpmg~"V8[
// All the `String` and `&str` has implemented trait `ToRandPwd`
// which means you can use method `to_randpwd` to convert a `String` or `&str` to `RandPwd`
let mut r_p = "n4jpstv$dI,.z'K".to_randpwd().unwrap();
// Panic! Has non-ASCII character(s)!
// let mut r_p = RandPwd::from("🦀️🦀️🦀️");
// let mut r_p = "🦀️🦀️🦀️".to_randpwd();
}
贡献
欢迎任何 PR!
许可证
MIT
依赖项
~3MB
~62K SLoC