Shammer's Philosophy

My private adversaria

MD5 と SHA-1 のサンプル実装

C言語のサンプル付きの MD5SHA-1 の説明サイトを見つけた。ブックマーク代わりにメモ。

どちらもIPAのサイト。信用して問題ないだろう。本来はRFCを見ろって話なんだろうけれども。
SHA-1 をちょろっと勉強した際、いくつかの変数をハードコーディングで決定していて、それでいいのか気になっていたがどうやらそれはそのようにするみたいだ。具体的には以下のコード。

    context->Intermediate_Hash[0]   = 0x67452301;
    context->Intermediate_Hash[1]   = 0xEFCDAB89;
    context->Intermediate_Hash[2]   = 0x98BADCFE;
    context->Intermediate_Hash[3]   = 0x10325476;
    context->Intermediate_Hash[4]   = 0xC3D2E1F0;

これをベースに、他の言語でもライブラリを実装できるかもしれない。