這篇文章主要介紹了Linux系統(tǒng)下使用pwgen生成密碼的使用教程,文中給出了一些常用命令示例可以另pwgen生成符合不同要求的密碼,需要的朋友可以參考下
pwgen生成的密碼易于記憶且相當(dāng)安全,
Linux系統(tǒng)下使用pwgen生成密碼的使用教程
。從技術(shù)上來說,容易記憶的密碼不會(huì)比隨機(jī)生成的密碼更加安全。但是,在大多數(shù)情況下,pwgen生成的密碼已經(jīng)足夠安全,除了網(wǎng)銀密碼等需要高安全等級(jí)的情況外。使用易于記憶的密碼的好處就是你不會(huì)把這些密碼寫下來或者存到電腦上的某個(gè)地方,這樣做本來就是不安全的。安裝pwgen,在終端窗口輸入(適用于Debian系列的Linux系統(tǒng)):
代碼如下:sudo apt-get install pwgen
不帶任何參數(shù)就運(yùn)行pwgen,將會(huì)輸出滿屏幕的密碼。你可以從中選擇一個(gè)作為自己的密碼然后清除屏幕。采用這種方式生成密碼,就是有人在你背后,他也不知道你選擇的到底是哪一個(gè)。
運(yùn)行pwgen,在終端輸入:
代碼如下:pwgen
選好密碼之后,在終端輸入 clear 就可以“清除”終端窗口內(nèi)容。
如果你確定背后沒有人,可以使用“-1”參數(shù)來讓pwgen只生成一個(gè)密碼。
代碼如下:pwgen -1
如果想生成一個(gè)完全隨機(jī)的密碼,使用“-s”參數(shù)。
代碼如下:pwgen -1 -s
如果想提高密碼的安全等級(jí),可在密碼中使用特殊字符(如感嘆號(hào)、逗號(hào)等)。使用“-y”參數(shù)可以讓生成的密碼至少包括一個(gè)特殊字符。
代碼如下:pwgen -1 -s -y
pwgen 命令更多有趣的參數(shù):
-0:密碼中不包含數(shù)字。
-B, --ambiguous:密碼中不包含容易混淆的字符,比如說“1”和“l”、“0”和“O”。
-v, --no-vowels:密碼不包括元音字母或者可能被誤認(rèn)為是元音字母的數(shù)字。
下面來看幾個(gè)具體的例子:
1. 使用命令 pwgen 來生成一個(gè)長(zhǎng)度為 10 個(gè)字符的獨(dú)特的隨機(jī)密碼。
代碼如下:$ pwgen 10 1
生成一個(gè)獨(dú)特的隨機(jī)密碼
一口氣生成若干組長(zhǎng)度為 50 個(gè)字符的唯一的隨機(jī)密碼!
代碼如下:$ pwgen 50
生成多組隨機(jī)密碼
2. 你還可以使用 makepasswd 來每次生成一個(gè)給定長(zhǎng)度的獨(dú)特的隨機(jī)密碼。在你把玩 makepasswd 命令之前,請(qǐng)確保你已經(jīng)安裝了它。如若沒有安裝它,試試使用 Apt 或 YUM 包管理器來安裝 makepasswd這個(gè)軟件包。
生成一個(gè)長(zhǎng)度為 10 個(gè)字符的隨機(jī)密碼。該命令產(chǎn)生的密碼的長(zhǎng)度默認(rèn)為 10。
代碼如下:$ makepasswd
使用 makepasswd 生成獨(dú)特的密碼
生成一個(gè)長(zhǎng)度為 50 個(gè)字符的隨機(jī)密碼,
電腦資料
《Linux系統(tǒng)下使用pwgen生成密碼的使用教程》(http://www.szmdbiao.com)。代碼如下:$ makepasswd --char 50
生成長(zhǎng)度為 50 的密碼
生成 7 個(gè)長(zhǎng)度為 20 個(gè)字符的隨機(jī)密碼。
代碼如下:$ makepasswd --char 20 --count 7
3. 使用帶“鹽”的 Crypt來加密一個(gè)密碼。提供手動(dòng)或自動(dòng)添加 “鹽”。
對(duì)于那些不清楚 鹽 的意義的人,這里的 “鹽” 指的是一個(gè)隨機(jī)數(shù)據(jù),它作為密碼生成函數(shù)的一個(gè)額外的輸入, 目的是保護(hù)密碼免受詞典攻擊。
在執(zhí)行下面的操作前,請(qǐng)確保你已經(jīng)安裝了 mkpasswd。
下面的命令將帶 “鹽” 加密一個(gè)密碼。“鹽” 的值是隨機(jī)自動(dòng)生成的。所以每次你運(yùn)行下面的命令時(shí),都將產(chǎn)生不同的輸出,因?yàn)樗看谓邮芰穗S機(jī)取值的 “鹽”。
代碼如下:$ mkpasswd tecmint
使用 Crypt 來加密密碼
現(xiàn)在讓我們來手動(dòng)定義 “鹽” 的值。每次它將產(chǎn)生相同的結(jié)果。請(qǐng)注意你可以輸入任何你想輸入的值來作為 “鹽” 的值。
代碼如下:$ mkpasswd tecmint -s tt
帶“鹽”加密密碼
另外, mkpasswd 還是交互式的,假如你在命令中沒有提供密碼,它將主動(dòng)詢問你來輸入密碼。
4. 使用 aes-256-cbc 加密算法并使用帶“鹽”的密碼(如 “tecmint”) 加密一個(gè)字符串(如 “Tecmint-is-a-Linux-Community”)。
代碼如下:# echo Tecmint-is-a-Linux-Community | openssl enc -aes-256-cbc -a -salt -pass pass:tecmint
在 Linux 中加密一個(gè)字符串
在上面例子中, echo 命令的輸出通過管道傳遞給了 openssl 命令,使得該輸出通過加密編碼方式(enc:Encoding with Cipher ) 所加密,這個(gè)過程中使用了 aes-256-cbc 加密算法,并附帶了密碼 (tecmint) 和 “鹽” 。
5. 使用 openssl 命令的 -aes-256-cbc 解密選項(xiàng)來解密上面的字符串。
代碼如下:# echo U2FsdGVkX18Zgoc+dfAdpIK58JbcEYFdJBPMINU91DKPeVVrU2k9oXWsgpvpdO/Z | openssl enc -aes-256-cbc -a -d -salt -pass pass:tecmint
在 Linux 中解密字符串
現(xiàn)在就是這些內(nèi)容了。