Edited at

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

More than 5 years have passed since last update.


はじめに

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


ランダムな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