如何在 Linux 生成复杂密码并且检查密码强度
生成复杂的密码
强密码应由字母、数字和符号的混合组成。第二个要求是不要使用已知单词、出生日期或姓名,因为很容易受到字典攻击。
密码应该包含多少个字符?实际上没有具体的答案,但是超过 16 个字符是一个不错的选择。因此,如果你的系统具有 OpenSSL 或 GPG,可以使用这些工具来完成生成密码的任务。例如,下面我们使用GPG生成密码:
[root@localhost ~]# gpg --gen-random --armor 2 12 zXVKRoB0/V4BN9QG
如果不想带有特殊字符,可以使用sed命令过滤掉:
[root@localhost ~]# gpg --gen-random --armor 2 12|sed 's/[^a-zA-Z0-9]//g' n4ciIlRLkLTkzwg
上面使用--gen-random选项来随机生成字符。使用--armor选项来生成ASCII字符。后面的选项2可以使[0][1][2]三个选项,他表示质量级别。最后一个数字代表字符长度。
相同的,我们可以使用OpenSSL来生成密码:
[root@localhost ~]# openssl rand -base64 12 QIrH/PLXqzmLuI/a
同样,也可以使用sed命令过滤掉特殊字符:
[root@localhost ~]# openssl rand -base64 12| sed 's/[^a-zA-Z0-9]//g' lXIg4cKLCLVvsi
检查密码强度
现在我们有了密码,是时候看看它是否通过了测试:您的密码是否足够强大?为了确定密码是否足够强大,我们将在Centos8中安装使用cracklib工具。
[root@localhost ~]# yum -y install cracklib
下面我们先测试一个简单的密码:
[root@localhost ~]# echo "a1b2c5" | cracklib-check a1b2c5: it is based on a dictionary word

如果使用普通单词呢?
[root@localhost ~]# echo "Administrator"|cracklib-check Administrator: it is based on a dictionary word

上面两个密码的输出,同样提示在词典中能查找到。
下面我们测试一个生成的密码看一下强度如何:
[root@localhost ~]# openssl rand -base64 12 | cracklib-check VdBlmvIgGY4ehWly: OK
可以看到密码没问题。
总结
在本教程中,我们已经看到生成和验证密码是多么容易,但不要忘记为每个服务生成不同的密码!
本文原创地址:https://www.linuxprobe.com/generate-strong-password-and-check.html编辑:逄增宝,审核员:逄增宝
为您推荐一些与本文相关的文章:
- 单条容量可达256GB的DDR5内存今年开始出货
- AI技术的环保水平2020年将更上一层楼
- 重磅消息:OpenBSD 将会在每次重启后都使用和之前不同的内核
- AMD对云游戏取代PC的观点并不认可
- HTTP状态码大全一览表
- 《C++程序设计原理与实践》pdf电子书免费下载
- 白山发布“数聚蜂巢Orchsym”,开启数字化转型“轻时代”
- 【技术快报】8.16-8.22
- 捷讯:王骥5月24日北京顺利通过RHCE认证。
- 亿级Web系统的高容错性实践