Linux 提供豐富工具生成高強度隨機密碼,本文精選 10 種實用方法,涵蓋 SHA、OpenSSL、/dev/urandom、dd、date 等,適合不同場景需求。
date +%s | sha256sum | base64 | head -c 32; echo
# 輸出範例:ZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32}; echo
# 輸出範例:pDj0Xwz7exD_Qb5B27BwWsM1hrF3a7cJ
openssl rand -base64 32
# 輸出範例:rYJWqJlTLAYeX3j7nCbir20h1k/0CnqLNEuNyTScfKo=
tr -cd '[:alnum:]' < /dev/urandom | fold -w32 | head -n1; echo
# 輸出範例:tpgudzF7sqtU4yyW2LVhmUQOZIQi87
strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 32 | tr -d '\n'; echo
# 輸出範例:W4v1iQtkmQ8sIDd9jxDQNpg8HPMOZ8
< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c32; echo
# 輸出範例:rMDlGSPN_bm-IZVFWz9BEi0rF-jIy6gs
dd if=/dev/urandom bs=1 count=32 2>/dev/null | base64 -w 0 | rev | cut -b 2- | rev
# 輸出範例:9+0RUd4U3HmSdMlgD7j0sf/r09MZFDVBS28W+pO2WcA
</dev/urandom tr -dc '12345!@#$%qwertQWERTasdfgASDFGzxcvbZXCVB' | head -c32; echo
# 輸出範例:VTG3#TR4sAgXg3Z%##WZG4ZQ@GZ$wdqF
randpw(){ < /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-16}; echo; }
# 加入 ~/.bashrc,以後直接輸入 randpw 即可生成 16 碼密碼
date | md5sum
# e0d057b46a9a78346cbd94b25e574e79 -
date | base64
# MjAxNOW5tCAwN+aciCAzMeaXpSDmmJ/mnJ/lm5sgMTc6MDA6MzYgQ1NUCg==
ifconfig | md5sum
# 7c4243742aa515d45c12deca31428a95 -
依據安全性需求與環境限制挑選最適合的方法。