C で、バイト列を画面に文字列で表示する方法

ここでは、作成したバイト列(バイナリ)のハッシュ値を表示する方法を考えてみよう。

#include #include #include 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 キー] で実行してみよう。

Comments