あとがき
最後までお読み頂きありがとうございます。
今回、なぜ.NETに装備されているSHA-256のコードをわざわざ自作することになったかと言うと、私が欲しかったのはJavaScriptでSHA-256ハッシュを得るソースだったのです。 いくつか配布サイトは見つけましたが、商用利用が禁じられていたり再配布が不可であったりと、StudioAREAのWebサイトで利用するにはマズイかなぁ、と考えたことと、 やはりWIZ.としてはオリジナルコードでプログラムを組みたい、という欲望があったからです。 いきなりJavaScriptで書くこともできましたが、アルゴリズムを理解してからでないと、正しい結果が出なかった時にどこが間違っているのかが分からない。
そんな理由から、まずは得意言語であるVisual Basicでアルゴリズムを理解しよう、となりました。 さらに、SHA-256アルゴリズムの日本語解説があまりに少なかったのでWebで公開しようと想い、このような記事を執筆するに至りました。
アルゴリズム解説とコーディングに関しては、FIPS 180-2に出来るだけ沿うようにしましたが、「bit単位でハッシュ値を求める」という点については正しくコーディングされていません。 そのため、完全にFIPS 180-2に準拠しているとは言えませんが、実質的な運用には問題ないと判断しました。