我使用此链接为使用 C++ 的任何数据创建 SHA1 哈希。但是 SHA1 调用的输出缓冲区是无符号字符 *。我想存储十六进制值,即消息摘要值,以便我可以将它们用于其他操作。
由于它们是 unsigned char* ,因此将它们转换为字符串然后执行十六进制转换是没有意义的。所以我必须进行十六进制转换,然后将值存储为字符串或 char*。我怎样才能做到这一点?
SHA1(ibuf, strlen(ibuf), obuf);
for (i = 0; i < 20; i++) {
printf("%02x ", obuf[i]);