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 i, dlen;

    dlen = strlen(s);

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

    memcpy(b, s, dlen);
    SHA1(b, dlen, hash);
printf("hash: ");
    <strong>for(i = 0; i < SHA_DIGEST_LENGTH; i++) {
printf("%02X", *(hash + i));
    }</strong>
printf("\n");
    free(b);
}
上の内容を hashtest.c とかいう名前で保存して、
gcc -lssl hashtest.c
とコンパイルすればよい。コンパイルすると a.out というファイルができるから ./a.out [Enter キー] で実行してみよう。
トラックバック URL: https://perltips.twinkle.cc/trackback/138
Posted on 2006-11-10 by yas |
C で、ハッシュ値を求める方法
Trackback from Perl Tips: #include <stdio.h> #include <s......
Posted by Perl Tips (未認証ユーザ) on 2006/11/05(日) 06:22
C で、ハッシュ値を求める方法
Trackback from Perl Tips: #include <stdio.h> #include <s......
Posted by Perl Tips (未認証ユーザ) on 2006/11/13(月) 11:57