閱讀227 返回首頁    go 阿裏雲 go 技術社區[雲棲]


使用命令行生成高強度密碼

設置一個高強度的密碼是非常重要的,這樣才能夠很好的保護自己的賬號或者服務器以及確保自己的數據的安全。通常來說,一個高強度密碼至少有 14 個字符,包括大小寫字母、數字和特殊字符,並且要牢記永遠不用那些字典中的單詞。使用長密碼比短密碼要來的安全,因為密碼越長越難猜測。在本文中,我將給你介紹幾個不同方法,讓你可以在 Linux 命令行下生成一個高強度密碼。

使用 openssl 生成高強度密碼

這裏使用 openssl 的 rand 方法,它會生成一個 14 位字符的隨機字符:


  1. openssl rand -base64 14

使用 urandom 生成高強度密碼

這裏我們將使用 tr 條件來過濾 /dev/urandom 的輸出,從而刪掉那些不想要的字符,並打印出第一個出現的 14 位字符。


  1. < /dev/urandom tr -dc A-Za-z0-9 | head -c14; echo

使用 pwgen 生成高強度密碼

pwgen 是一個生成隨機、無特殊含義但可以正常拚讀的密碼。

安裝 pwgen,運行:


  1. sudo apt-get install pwgen

安裝好之後,使用以下命令來生成一個 14 位隨機字符:


  1. pwgen 14 1

你也可以使用以下標記:

  • -c 或 --capitalize 生成的密碼中至少包含一個大寫字母
  • -A 或 --no-capitalize 生成的密碼中不含大寫字母
  • -n 或 --numerals 生成的密碼中至少包含一個數字
  • -0 或 --no-numerals 生成的密碼中不含數字
  • -y 或 --symbols 生成的密碼中至少包含一個特殊字符
  • -s 或 --secure 生成一個完全隨機的密碼
  • -B 或 --ambiguous 生成的密碼中不含易混淆字符ambiguous characters
  • -h 或 --help 輸出幫助信息
  • -H 或 --sha1=path/to/file[#seed] 使用指定文件的 sha1 哈希值作為隨機生成器
  • -C 按列輸出生成的密碼
  • -1 不按列輸出生成的密碼
  • -v 或 --no-vowels 不使用任何元音,以免意外生成讓人討厭的單詞

使用 gpg 生成高強度密碼

我們也可以使用 gpg 工具來生成一個 14 位字符的密碼:


  1. gpg --gen-random --armor 1 14

其它方法

當然,可能還有很多方法可以生成一個高強度密碼。比方說,你可以添加以下 bash shell 方法到 ~/.bashrc 文件:


  1. genpasswd() {
  2. strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 14 | tr -d '\n'; echo
  3. }

當你想要生成一個高強度的隨機密碼時,運行 genpasswd 就好了。

原文發布時間為:2017-11-08

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-06-05 14:32:15

  上一篇:go  《JavaScript開發框架權威指南》——第2章 Grunt 2.1安裝Grunt
  下一篇:go  《JavaScript開發框架權威指南》——1.8 小結