このリンクを使用して、C++ を使用して任意のデータの SHA1 ハッシュを作成しました。ただし、SHA1 呼び出しからの出力バッファーは unsigned char* です。16 進数値、つまりメッセージ ダイジェスト値を保存して、他の操作に使用できるようにしたいと考えています。
これらは unsigned char* であるため、文字列に変換してから 16 進数変換を実行しても意味がありません。したがって、16 進変換を行ってから、値を文字列または char* として保存する必要があります。これどうやってするの?
SHA1(ibuf, strlen(ibuf), obuf);
for (i = 0; i < 20; i++) {
printf("%02x ", obuf[i]);