machineKey の 生成ツール

0 件のコメント

ASP.NET で開発をしていると、 web.config に machineKey を設定できます。 複数のサーバーにおいて、同じ認証結果を利用したい場合(DNSラウンドロビン等)、各サーバーにおいて共通の machineKey を設定することで、1度の認証で他のサーバーにアクセスできるようなことを実現できます。 この machineKey 、生成方法は MSDN に記載があるのですが、わざわざ作らないと machineKey を手に入れることができません。

…というわけで、machineKey を生成するツールを作ってみました。 暗号化/複合化および検証に対して任意の強度を選択して生成するだけの単純なものです。

ソースコード

バイナリ

アルゴリズムの選択

ビット数 が長いほど シノニム(キーの衝突) が発生しにくい & 強度が高い ですが、処理速度が遅くなります。 以下に、アルゴリズム と ビット数 を表にまとめます。

decription (暗号化/複合化)

ハッシュアルゴリズム ビット数 バイト数 16進の文字数
Auto (=AES) (default) 256 32 64
AES 128 16 32
AES 192 24 48
AES 256 32 64
DES 64 8 16
3DES 192 24 48

validation (検証)

ハッシュアルゴリズム ビット数 バイト数 16進の文字数
AES 256 32 64
MD5 128 16 32
SHA1 160 20 40
3DES 192 24 48
HMACSHA256 (default) 256 32 64
HMACSHA384 384 48 96
HMACSHA512 512 64 128

今回、以下のサイトを参考にしました。