
해시 결과를 문자열로 반환하는 방법은 다음과 같습니다.
#hostingforum.kr
c
#include
int main() {
unsigned char hash[crypto_shorthash_BYTES];
const char *input = "Hello, World!";
crypto_shorthash(hash, (const unsigned char *)input, strlen(input));
// unsigned char 형의 해시 결과를 문자열로 변환하는 방법
char hash_str[crypto_shorthash_BYTES * 2 + 1];
for (int i = 0; i < crypto_shorthash_BYTES; i++) {
sprintf(hash_str + i * 2, "%02x", hash[i]);
}
hash_str[crypto_shorthash_BYTES * 2] = ' ';
printf("SHA-256 해시: %sn", hash_str);
return 0;
}
위 코드는 `crypto_shorthash` 함수의 결과를 문자열로 변환하여 출력합니다.
`crypto_shorthash_BYTES`는 SHA-256 해시의 크기를 나타내며, `crypto_shorthash_BYTES * 2 + 1`은 문자열로 변환할 때 필요한 크기를 나타냅니다.
`sprintf` 함수를 사용하여 각 바이트를 2자리 HEX 문자열로 변환한 후, 결과를 `hash_str` 문자열에 저장합니다.
마지막으로, `printf` 함수를 사용하여 해시 결과를 출력합니다.
이 코드는 Sodium 라이브러리를 사용하여 SHA-256 해시를 생성하고, 결과를 문자열로 반환하는 방법을 보여줍니다.
2025-07-23 01:55