#password #strength #entropy

bin+lib chbs_password_checker

密码强度检查器

1 个不稳定版本

0.1.0 2021 年 5 月 17 日

#597身份验证

Download history 93/week @ 2024-03-29 122/week @ 2024-04-05 180/week @ 2024-04-12 103/week @ 2024-04-19 133/week @ 2024-04-26 199/week @ 2024-05-03 124/week @ 2024-05-10 141/week @ 2024-05-17 198/week @ 2024-05-24 118/week @ 2024-05-31 82/week @ 2024-06-07 121/week @ 2024-06-14 9/week @ 2024-06-21 60/week @ 2024-06-28 81/week @ 2024-07-05 48/week @ 2024-07-12

234 每月下载次数

MIT 许可证

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 或如此的范围。

注意事项

攻击者通常使用他们从泄露的数据中抓取的密码。熵检查不能保护您的用户不使用泄露的密码。

工作原理

密码将重复字符、回文部分以及如 qwertyasdfghjkl 之类的常见密码序列以及根据维基百科列出的 10 个最常用密码(根据维基百科)从密码中去除。剩余长度计入初始得分。对于混合大小写、添加数字和添加特殊字符将获得额外的分数。

之后我们进行一些数学运算,计算出大约的总猜测次数,并将其减少为一个整数分数。

依赖关系

~1.5MB
~14K SLoC