天天看點

如何在 Linux 中産生、加密或解密随機密碼如何在 Linux 中産生、加密或解密随機密碼

我們一直積極地提供有關 linux 技巧的系列文章,如果你錯過了這個系列的最新文章,你或許可以去通路下面的連結。

<a href="https://linux.cn/article-5485-1.html">linux 中 5 個有趣的指令行技巧</a>

在這篇文章中,我們将分享一些有趣 linux 技巧,内容是有關如何産生随機密碼以及加密或解密這些經過加鹽或沒有加鹽處理的密碼。

安全是數字時代中的一個主要話題。在電腦,email,雲端,手機,文檔和其他的場合中,我們都會使用到密碼。衆所周知,選擇密碼的基本原則是 “易記,難猜”。考慮過使用基于機器自動生成的密碼嗎?相信我,linux 非常擅長這方面的工作。

如何在 Linux 中産生、加密或解密随機密碼如何在 Linux 中産生、加密或解密随機密碼

1. 使用指令 <code>pwgen</code> 來生成一個長度為 10 個字元的獨特的随機密碼。假如你還沒有安裝 pwgen,請使用 apt 或 yum 等包管理器來安裝它。

<code>$ pwgen 10 1</code>

如何在 Linux 中産生、加密或解密随機密碼如何在 Linux 中産生、加密或解密随機密碼

生成一個獨特的随機密碼

一口氣生成若幹組長度為 50 個字元的唯一的随機密碼!

<code>$ pwgen 50</code>

如何在 Linux 中産生、加密或解密随機密碼如何在 Linux 中産生、加密或解密随機密碼

生成多組随機密碼

2. 你還可以使用 <code>makepasswd</code> 來每次生成一個給定長度的獨特的随機密碼。在你把玩 makepasswd 指令之前,請確定你已經安裝了它。如若沒有安裝它,試試使用 apt 或 yum 包管理器來安裝 <code>makepasswd</code>這個軟體包。

生成一個長度為 10 個字元的随機密碼。該指令産生的密碼的長度預設為 10。

<code>$ makepasswd</code>

如何在 Linux 中産生、加密或解密随機密碼如何在 Linux 中産生、加密或解密随機密碼

使用 makepasswd 生成獨特的密碼

生成一個長度為 50 個字元的随機密碼。

<code>$ makepasswd --char 50</code>

如何在 Linux 中産生、加密或解密随機密碼如何在 Linux 中産生、加密或解密随機密碼

生成長度為 50 的密碼

生成 7 個長度為 20 個字元的随機密碼。

<code>$ makepasswd --char 20 --count 7</code>

如何在 Linux 中産生、加密或解密随機密碼如何在 Linux 中産生、加密或解密随機密碼

對于那些不清楚 鹽 的意義的人,這裡的 “鹽” 指的是一個随機資料,它作為密碼生成函數的一個額外的輸入, 目的是保護密碼免受詞典攻擊。

在執行下面的操作前,請確定你已經安裝了 <code>mkpasswd</code>。

下面的指令将帶 “鹽” 加密一個密碼。“鹽” 的值是随機自動生成的。是以每次你運作下面的指令時,都将産生不同的輸出,因為它每次接受了随機取值的 “鹽”。

<code>$ mkpasswd tecmint</code>

如何在 Linux 中産生、加密或解密随機密碼如何在 Linux 中産生、加密或解密随機密碼

使用 crypt 來加密密碼

現在讓我們來手動定義 “鹽” 的值。每次它将産生相同的結果。請注意你可以輸入任何你想輸入的值來作為 “鹽” 的值。

<code>$ mkpasswd tecmint -s tt</code>

如何在 Linux 中産生、加密或解密随機密碼如何在 Linux 中産生、加密或解密随機密碼

帶“鹽”加密密碼

另外, mkpasswd 還是互動式的,假如你在指令中沒有提供密碼,它将主動詢問你來輸入密碼。

4. 使用 aes-256-cbc 加密算法并使用帶“鹽”的密碼(如 “tecmint”) 加密一個字元串(如 “tecmint-is-a-linux-community”)。

<code># echo tecmint-is-a-linux-community | openssl enc -aes-256-cbc -a -salt -pass pass:tecmint</code>

如何在 Linux 中産生、加密或解密随機密碼如何在 Linux 中産生、加密或解密随機密碼

在 linux 中加密一個字元串

5. 使用 openssl 指令的 -aes-256-cbc 解密選項來解密上面的字元串。

<code># echo u2fsdgvkx18zgoc+dfadpik58jbceyfdjbpminu91dkpevvru2k9oxwsgpvpdo/z | openssl enc -aes-256-cbc -a -d -salt -pass pass:tecmint</code>

如何在 Linux 中産生、加密或解密随機密碼如何在 Linux 中産生、加密或解密随機密碼

在 linux 中解密字元串

現在就是這些内容了。

保持聯系,保持連接配接,敬請關注。不要忘了在下面的評論中提供給我們您有價值的回報。

原文釋出時間:2015-05-22

本文來自雲栖合作夥伴“linux中國”

繼續閱讀