OpenSSLでSHA256ハッシュ計算

2014年3月3日

OpenSSLには、当たり前ですが、ハッシュ計算できる関数があります。
別に通信しなくても使えます。
使うだけなら、とっても簡単。以下のように書くだけ。

// ハッシュ計算
unsigned char hash[SHA256_DIGEST_LENGTH];
SHA256( (unsigned char *)test, strlen(test), hash );

中身は何しているか最底辺には、全くわかりません。]
ちなみに幾つかの文字列を組み合わせて求めることもできるようです。

   // 複数まとめてハッシュ計算
unsigned char hash[SHA256_DIGEST_LENGTH];
SHA256_CTX ctx;
SHA256_Init( &ctx );
for ( int i = 0; i < sizeof(datas) / sizeof(datas[0]); ++i)
{
    SHA256_Update( &ctx, (unsigned char *)datas[i], strlen(datas[i]) );
}
int ret = SHA256_Final( hash, &ctx );

皆さんも使ってみましょう。
で、結局、ハッシュってどうやって使うの??

c++

Posted by koheizi