教你如何在 Linux 中生成复杂密码并且检查密码强度
source link: https://os.51cto.com/article/707230.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
生成复杂的密码
强密码应由字母、数字和符号的混合组成。第二个要求是不要使用已知单词、出生日期或姓名,因为很容易受到字典攻击。密码应该包含多少个字符?实际上没有具体的答案,但是超过 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
可以看到密码没问题。
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK