2022-03-25 ランダムなbyte列を指定byte数だけbase64エンコードして得る AES256の暗号鍵やシークレットソルトなど、ランダムなbyte列をシェルでサクッと欲しい時がある。 head -c NUMで指定バイト分だけ取れるから、base64にパイプで流せば良い。 次のコマンドはランダムな32 byteを base64エンコードして出力する。 head -c 32 /dev/random | base64 大量に必要ならエントロピー不足で止まってしまわないよう、/dev/randomの代わりに/dev/urandomをbyte列のソースとする。