From 524cd853294016d42532d6b827bffa9c7035ffde Mon Sep 17 00:00:00 2001 From: Nishi Date: Tue, 20 Aug 2024 21:10:25 +0000 Subject: [PATCH] make rv_sha512 return sha512 hash str git-svn-id: file:///raid/svn-personal/repoview/trunk@4 7e8b2a19-8934-dd40-8cb3-db22cdd5a80f --- CGI/rv_sha512.h | 2 +- CGI/sha512.c | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CGI/rv_sha512.h b/CGI/rv_sha512.h index 8628fe8..3aeebe1 100644 --- a/CGI/rv_sha512.h +++ b/CGI/rv_sha512.h @@ -3,6 +3,6 @@ #ifndef __RV_SHA512_H__ #define __RV_SHA512_H__ -unsigned char* rv_sha512(const char* string); +char* rv_sha512(const char* string); #endif diff --git a/CGI/sha512.c b/CGI/sha512.c index 83d0214..592d3f1 100644 --- a/CGI/sha512.c +++ b/CGI/sha512.c @@ -7,8 +7,16 @@ #include #include -unsigned char* rv_sha512(const char* string) { +char* rv_sha512(const char* string) { + const char hex[] = "0123456789abcdef"; unsigned char* hash = malloc(SHA512_DIGEST_LENGTH); SHA512((const unsigned char*)string, strlen(string), hash); - return hash; + char* str = malloc(512 / 4 + 1); + int i; + for(i = 0; i < 512 / 8; i++) { + str[2 * i + 0] = hex[(hash[i] >> 4) & 0xf]; + str[2 * i + 1] = hex[(hash[i] & 0xf)]; + } + free(hash); + return str; } -- 2.45.2