在這篇教學中,我們將探討如何產生複雜的密碼並檢查密碼強度。
#強密碼應該由字母、數字和符號混合而成。另一個要求是不要使用已知單字、生日或姓名,因為這些容易受到字典攻擊。
那麼密碼應該包含多少個字元呢?實際上並沒有一個確定的答案,但超過 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
可以看到密碼沒問題。
以上是教你如何在 Linux 中產生複雜密碼並且檢查密碼強度的詳細內容。更多資訊請關注PHP中文網其他相關文章!