コマンドラインでランダムな10文字を得る方法


はじめに

パスワードなどのよくランダムな文字列が欲しくなるのですが、毎回調べて毎回忘れるので備忘として書いておきます。

ランダムな10文字を得るコマンドその1

 openssl rand -base64 12 | fold -w 10 | head -1

解説

MacOS X、Amazon Linuxで確認しましたが、 opensslは標準で入っていました。 openssl-base64 オプションは4バイト単位でしか出力してくれないので、 foldで10文字毎に改行した後、 headで最初の行を表示しています。

ランダムな10文字を得るコマンドその2

 cat /dev/urandom | base64 | fold -w 10 | head -n 1

解説

/dev/urandomからランダムな数列をとってきて base64で変換後、あとは最初の方法と同じですね。

ランダムな10文字を得るコマンドその3

date +%s | shasum | base64 | fold -w 10 | head -1

解説

こちらはいわゆるEPOCHタイムをハッシュして base64という形ですが、時間は推測しやすいのであまりよくない例だとおもいます。

参考

10 Ways to Generate a Random Password from the Command Line