1 个不稳定版本
0.1.0 | 2021 年 5 月 17 日 |
---|
#597 在 身份验证 中
234 每月下载次数
17KB
298 代码行
CHBS 密码强度检查器
使用原始熵值编写的简单密码强度检查器。
灵感来源于:[https://github.com/wagslane/go-password-passwordvalidator](https://github.com/wagslane/go-password-passwordvalidator) 和这个 [XKCD](https://xkcd.com/936/)
优点
- 尽管大写字母、数字、特殊字符等所有这些都会对最终得分产生影响,但没有一个是 必需的
- 不接触任何外部 API
- 除了库之外还包含命令行工具,因此可以用于 bash 脚本
⚙️ 安装
cargo install chbs
代码中使用:
use chbslib::get_entropy;
let test_1: String = String::from("boring");
let score: i16 = get_entropy(&test1);
println!("Score: {}", score);
>>> 1
一个好的最小值是多少?
这是一个判断问题。我建议在 5 到 7 或如此的范围。
注意事项
攻击者通常使用他们从泄露的数据中抓取的密码。熵检查不能保护您的用户不使用泄露的密码。
工作原理
密码将重复字符、回文部分以及如 qwerty
或 asdfghjkl
之类的常见密码序列以及根据维基百科列出的 10 个最常用密码(根据维基百科)从密码中去除。剩余长度计入初始得分。对于混合大小写、添加数字和添加特殊字符将获得额外的分数。
之后我们进行一些数学运算,计算出大约的总猜测次数,并将其减少为一个整数分数。
依赖关系
~1.5MB
~14K SLoC