如何在 Linux 中產生、加密或解密隨機密碼
1. 使用命令 pwgen
來生成一個長度為 10 個字元的獨特的隨機密碼。假如你還沒有安裝 pwgen,請使用 Apt 或 YUM 等包管理器來安裝它。
$ pwgen 10 1
生成一個獨特的隨機密碼
一口氣生成若干組長度為 50 個字元的唯一的隨機密碼!
$ pwgen 50
生成多組隨機密碼
2. 你還可以使用 makepasswd
來每次生成一個給定長度的獨特的隨機密碼。在你把玩 makepasswd 命令之前,請確保你已經安裝了它。如若沒有安裝它,試試使用 Apt 或 YUM 包管理器來安裝 makepasswd
這個軟體包。
生成一個長度為 10 個字元的隨機密碼。該命令產生的密碼的長度默認為 10。
$ makepasswd
使用 makepasswd 生成獨特的密碼
生成一個長度為 50 個字元的隨機密碼。
$ makepasswd --char 50
生成長度為 50 的密碼
生成 7 個長度為 20 個字元的隨機密碼。
$ makepasswd --char 20 --count 7
3. 使用帶「鹽」的 Crypt(註:這裡應該指的是一個函數,可以參考這裡 ) 來加密一個密碼。提供手動或自動添加 「鹽」。
對於那些不清楚 鹽 的意義的人,這裡的 「鹽」 指的是一個隨機數據,它作為密碼生成函數的一個額外的輸入, 目的是保護密碼免受詞典攻擊。
在執行下面的操作前,請確保你已經安裝了 mkpasswd
。
下面的命令將帶 「鹽」 加密一個密碼。「鹽」 的值是隨機自動生成的。所以每次你運行下面的命令時,都將產生不同的輸出,因為它每次接受了隨機取值的 「鹽」。
$ mkpasswd tecmint
使用 Crypt 來加密密碼
現在讓我們來手動定義 「鹽」 的值。每次它將產生相同的結果。請注意你可以輸入任何你想輸入的值來作為 「鹽」 的值。
$ mkpasswd tecmint -s tt
帶「鹽」加密密碼
另外, mkpasswd 還是互動式的,假如你在命令中沒有提供密碼,它將主動詢問你來輸入密碼。
4. 使用 aes-256-cbc 加密演算法並使用帶「鹽」的密碼(如 「tecmint」) 加密一個字元串(如 「Tecmint-is-a-Linux-Community」)。
# echo Tecmint-is-a-Linux-Community | openssl enc -aes-256-cbc -a -salt -pass pass:tecmint
在 Linux 中加密一個字元串
在上面例子中, echo 命令的輸出通過管道傳遞給了 openssl 命令,使得該輸出通過加密編碼方式(enc:Encoding with Cipher ) 所加密,這個過程中使用了 aes-256-cbc 加密演算法,並附帶了密碼 (tecmint) 和 「鹽」 。
5. 使用 openssl 命令的 -aes-256-cbc 解密選項來解密上面的字元串。
# echo U2FsdGVkX18Zgoc+dfAdpIK58JbcEYFdJBPMINU91DKPeVVrU2k9oXWsgpvpdO/Z | openssl enc -aes-256-cbc -a -d -salt -pass pass:tecmint
在 Linux 中解密字元串
現在就是這些內容了。
保持聯繫,保持連接,敬請關注。不要忘了在下面的評論中提供給我們您有價值的反饋。
via: http://www.tecmint.com/generate-encrypt-decrypt-random-passwords-in-linux/
作者:Avishek Kumar 譯者:FSSlc 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive