IIS5.0でハッシュ値としてSHA-256を使う


ハッシュ値って難しいですね。覚え書きです。どうも、ダムログの時間です。


新しい決済システムを導入中です。
仕組みがかなりしっかりしているため、ASPタイプでリンク形式のため開発工数はそれほど掛からないはずなのですが、今までやった事のない技術も習得せねばならず結構大変です。
中でも「ハッシュ値(ハッシュ関数)」をフォームに盛り込まねばならず、まずこの「ハッシュ関数」について何なのかも調べなければなりませんでした。
まぁ、ハッシュ関数についてはWikipediaなんかで調べてもらえればと思いますが、簡単に言えばデータ改竄防止用の単方向のための暗号化(つまり暗号化したデータは復元できない)、といったところでしょうか。
これまでMD2・MD4・MD5といったアルゴリズムが開発されてきていますが、コリジョンなどにより脆弱性が発見されているため、いま導入しようとしている決済システムはSHA-256にしてください、とのこと。
ところが今使っているサーバではMD5までしか標準で使えない事が発覚。で、どうしてもSHA-256のハッシュアルゴリズムにしなければならず、いろいろ探した結果海外でVBScriptとして公開されている方がいらっしゃいました。
>>SHA-256 One Way Encryption: VB and ASP Implementation
ここから一番下の「code/sha.zip」のリンクから圧縮ファイルをダウンロードして解凍。
圧縮ファイルの中にはサンプルコードなどが同梱されていますが、必要なのは「sha256.asp」だけ。これをincludeさせたりして、以下のコードを記述。

Dim sDigest
    sDigest = sha256(“この中にハッシュ化したい文字列を入れる”)
Response.Write sDigest
なんて感じでコーディングしてやれば、見事にハッシュ化してくれます。ただし、7bit ASCII以外のデータを処理できないそうなので注意が必要です。
今回の決済システム以外にも色々と使えそうです。例えば認証システムとか・・・。
これは活用する手はありませんです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です