
ターミナルでランダムな文字列を生成する方法
- #ターミナル
適当な文字列を作りたい時って、ありますよね???ありますよね???
コマンド
LC_ALL=C tr -dc 'A-Za-z0-9!@#$%^&*()_+=-' < /dev/urandom | head -c 20; echoこれだけ。実行するたびにランダムな文字列が出力される。
出力例: kA9!mZ#2xP&qR5+wN8jL文字数を変えたいとき
head -c 20 の数字を変える。
# 12文字
LC_ALL=C tr -dc 'A-Za-z0-9!@#$%^&*()_+=-' < /dev/urandom | head -c 12; echo
# 32文字
LC_ALL=C tr -dc 'A-Za-z0-9!@#$%^&*()_+=-' < /dev/urandom | head -c 32; echo使う文字を変えたいとき
'A-Za-z0-9!@#$%^&*()_+=-' の部分が使う文字の指定。自由に変えられる。
- A-Z → 大文字のAからZ
- a-z → 小文字のaからz
- 0-9 → 数字の0から9
- それ以外 → そのままの文字(記号など)
# 英数字のみ(記号なし)
LC_ALL=C tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 20; echo
# 数字だけ
LC_ALL=C tr -dc '0-9' < /dev/urandom | head -c 20; echo
# 小文字と数字だけ
LC_ALL=C tr -dc 'a-z0-9' < /dev/urandom | head -c 20; echoなぜこれを使う(?)のか
- 外部ツール不要
- オフラインで動く
- /dev/urandom は暗号学的に安全な乱数
- 完全にローカルで完結
強力なパスワードなどを作りたい時(?)などに使ってみてください。^^