我有以下代码来计算sha512哈希:
#include <stdio.h>
#include <string.h>
#include <openssl/sha.h>
int main() {
char *password = "test";
char hash[SHA512_DIGEST_LENGTH];
SHA512(password, strlen(password), hash);
return 0;
}
如何以十六进制打印出计算出的哈希值?
由于
答案 0 :(得分:2)
将hash
更改为unsigned char hash[SHA512_DIGEST_LENGTH]
。然后:
for(int i = 0; i < SHA512_DIGEST_LENGTH; ++i) {
printf("%02x", hash[i]);
}