Post date: Jul 5, 2015 5:55:34 PM
例えば、無線ルーターのセキュリティキーなど本当に破られにくいパスワードが必要なときどうしたらいいでしょう。
ある程度総当り攻撃にも耐えうるようにしたい時、自分で適当な文字を書いて見るより、できるだけランダムな文字で作成するのがベターです。
そこで、OpenSSLの登場です。OpenSSLはインターネット上の安全な暗号化通信に利用されているソフトウェアですが、これを使えば簡単に必要な文字をランダムに生成できます。(乱数と言うと、RND()関数なんかが思い浮かびますが、そちらは擬似的な乱数を作り出すだけですので要注意です。本当にバラバラの乱数はこういったものに頼る必要があります。)
さて、前置きはさておき、まずOpenSSLがインストールされたパソコンを用意します。
ubuntuやMacには最初から入っていますのでubuntuで試してみましょう。
端末を開いて、以下の命令を実行します。
$ openssl rand -base64 n
引数の意味
rand:ランダムに生成
-base64:半角英数テキスト文字に変更するためのオマジナイと思って下さい。(base64エンコードを実施→7bit毎にテキストに変換する。)
n:必要なバイト数を入れます。
例:
openssl rand -base64 100
結果:ランダムな100バイトのバイナリコードを生成後、base64エンコードし文字列を作成する。
lnNYZO5JtuIPk/lEtyVVKed3q/84TzEte98ThmZDQqe0fvUPy3LphqOkC80dS/lPj5+2TGI9EJfCP99vbjcCILAk/Ion4fc+SoVg3YdQNtR6es/1o0F57xbsOWmZdWCQg5/sGA==
最初の何文字かを使うとかすると、適当に書いたものよりいい感じでバラバラの気がしますね。(^o^)