C で、ハッシュ値を求める方法

#include <stdio.h>
#include <string.h>
#include <openssl/sha.h>

int main(int argc, char** argv) {

    unsigned char hash[SHA_DIGEST_LENGTH];
    unsigned char* b;
    unsigned char* s = "string string string";
    int dlen;

    dlen = strlen(s);

    if ((b = (unsigned char *)malloc(dlen)) == NULL) {
        return (-1);
    }

    memcpy(b, s, dlen);  //  s を b に dlen 分だけ(すなわち文字列 s を)コピーする。
    SHA1(b, dlen, hash); // b を c 分だけのハッシュ値を hash に求める。

// 処理

    free(b);
}
上の内容を hashtest.c とかいう名前で保存して、
gcc -lssl hashtest.c
とコンパイルすればよい。
トラックバック URL: https://perltips.twinkle.cc/trackback/139
Posted on 2006-11-07 by yas |
C で、バイト列を画面に文字列で表示する方法
Trackback from Perl Tips: ここでは、作成したバイト列(バイナリ)のハッシュ値を表示する方法を考えてみよう......
Posted by Perl Tips (未認証ユーザ) on 2006/11/05(日) 06:22