如何在 Linux 中產生、加密或解密隨機密碼
我們一直積極地提供有關 Linux 技巧的系列文章,如果你錯過了這個系列的最新文章,你或許可以去訪問下面的連結。
在這篇文章中,我們將分享一些有趣 Linux 技巧,內容是有關如何產生隨機密碼以及加密或解密這些經過加鹽或沒有加鹽處理的密碼。
安全是數字時代中的一個主要話題。在電腦,email,雲端,手機,文件和其他的場合中,我們都會使用到密碼。眾所周知,選擇密碼的基本原則是 “易記,難猜”。考慮過使用基於機器自動生成的密碼嗎?相信我,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 中解密字串
現在就是這些內容了。
保持聯絡,保持連線,敬請關注。不要忘了在下面的評論中提供給我們您有價值的反饋。
相關文章
- Rust中如何產生隨機數或密碼?Rust隨機密碼
- 如何在 Linux 上用密碼加密和解密檔案Linux密碼加密解密
- Linux中自動成生隨機密碼--mkpasswdLinux隨機密碼
- matlab產生隨機數或隨機矩陣Matlab隨機矩陣
- 產生隨機密碼的sql儲存過程隨機密碼SQL儲存過程
- vc中產生隨機數隨機
- mysql 5.7 初始化密碼或隨機密碼MySql密碼隨機
- Linux 生成隨機密碼Linux隨機密碼
- linux生產32位隨機數Linux隨機
- 序列密碼的加密與解密密碼加密解密
- 文字加密:常見的密碼加密解密方法加密密碼解密
- Linux 隨機生成密碼mkpasswdLinux隨機密碼
- java程式碼實現對excel加密、解密(設定或去除開啟密碼)JavaExcel加密解密密碼
- 如何在linux中用命令產生一個範圍內的隨機數?Linux隨機
- 從oracle表中隨機取記錄,產生隨機數和隨機字串Oracle隨機字串
- JavaScript產生隨機數例項程式碼JavaScript隨機
- 產生唯一隨機碼的方法分析隨機
- R產生隨機數隨機
- linux 生成隨機密碼,uuidLinux隨機密碼UI
- c++產生隨機數C++隨機
- Go 如何實現 PHP 的密碼加密解密GoPHP密碼加密解密
- 密碼學-軟體加密技術和序號產生器制密碼學加密
- 【筆記】如何產生隨機數筆記隨機
- js隨機產生區間數JS隨機
- C#隨機產生漢字C#隨機
- JS生成隨機密碼JS隨機密碼
- 計算機隨機數的產生 (轉)計算機隨機
- matlab中的產生隨機數的rand函式Matlab隨機函式
- MATLAB中如何產生指定範圍的隨機數Matlab隨機
- js實現的產生隨機數程式碼例項JS隨機
- 高效產生不重複的隨機數隨機
- 使用mkpasswd生成隨機密碼隨機密碼
- Linux 系統生成隨機密碼的10種方法Linux隨機密碼
- 八種在 Linux 上生成隨機密碼的方法Linux隨機密碼
- Linux 命令列生成隨機密碼的十種方法Linux命令列隨機密碼
- oracle 密碼解密Oracle密碼解密
- 在Linux中,如何理解加密工具?如GnuPG和OpenSSL。Linux加密
- 基於C#實現-維吉尼亞密碼加密、解密C#密碼加密解密