內容來自: 10 Ways to Generate a Random Password from the Linux Command Line
Linux 好玩的事兒是達成一件事情可以用上百種方式. 即使如生成隨機密碼這么簡單的需求都可以用一打的命令來實現.
這些命令從 Command-Line Fu 搜集而來, 而且都在 Linux 上驗證了這些命令沒有問題.
生成密碼
對於這些生成隨機數的命令, 可以調整以輸出不同長度的密碼. 當然, 你可以使用第一個 x 符號來生成密碼, 如果你不需要這么長的密碼. 好在有類似於 LastPass 這樣的密碼管理工具, 我們不再需要痛苦的記憶各種密碼了.
**1. 將日期結果做 hash 運算 **
date +%s | sha256sum | base64 | head -c 32 ; echo
2. 使用 openssl 的 rand 函數
openssl rand -base64 32
3. 使用 /dev/urandom
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;
4. 使用 /dev/urandom
tr -cd '[:alnum:]' < /dev/urandom | fold -w30 | head -n1
5. 使用 string
命令 + /dev/urandom
strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo
6. 使用 /dev/urandom
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c6
7. 使用 dd 命令
dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev
8. 創建一個只需要左手就可以輸入的密碼
</dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c8; echo ""
9. 可以把生成密碼的命令寫成函數,保存在 ~/.bashrc 內,這樣可以方便下次生成密碼
randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16};echo;}
需要生成密碼的時候, 可以在 CLI 執行: randpw
即可生成密碼.
10. md5sum
date | md5sum