dullwhaleのメモ帳

何度も同じことを調べなくてよいように...

ランダムなbyte列を指定byte数だけbase64エンコードして得る

AES256の暗号鍵やシークレットソルトなど、ランダムなbyte列をシェルでサクッと欲しい時がある。 head -c NUMで指定バイト分だけ取れるから、base64にパイプで流せば良い。 次のコマンドはランダムな32 byteを base64エンコードして出力する。

head -c 32 /dev/random | base64

大量に必要ならエントロピー不足で止まってしまわないよう、/dev/randomの代わりに/dev/urandomをbyte列のソースとする。