7 个版本 (4 个破坏性更新)
0.6.1 | 2023 年 7 月 23 日 |
---|---|
0.6.0 | 2023 年 7 月 23 日 |
0.5.1 | 2023 年 5 月 11 日 |
0.5.0 | 2023 年 4 月 19 日 |
0.1.0 | 2023 年 3 月 29 日 |
98 在 #password
每月 397 次下载
295KB
5K SLoC
libpwquality 对 Rust 的绑定
用法
cargo add libpwquality
libpwquality-rs 默认链接系统 libpwquality 库,您可以选择启用 vendored
功能并安装 cracklib 字典来构建 libpwquality。当启用 vendored
功能时,如果遇到字典路径问题,您可以导出 DEFAULT_CRACKLIB_DICT
环境变量以指定字典路径。
cargo add libpwquality --features vendored
sudo apt-get install cracklib-runtime
示例
use libpwquality::{PWQError, PWQuality};
fn main() -> Result<(), PWQError> {
let pwq = PWQuality::new()?;
pwq.read_default_config()?
.min_length(9)
.max_repeat(2)
.bad_words(["bad", "password"])?;
let minlen = pwq.get_min_length();
println!("minlen={}", minlen);
let badwords = pwq.get_bad_words()?;
println!("badwords={:?}", badwords);
let maxrepeat = pwq.get_max_repeat();
println!("maxrepeat={}", maxrepeat);
let password = pwq.generate(32)?;
println!("password={:?}", password);
let score = pwq.check(&password, Some("password!"), None)?;
println!("score={}", score);
Ok(())
}