From: Nishi Date: Tue, 20 Aug 2024 21:10:25 +0000 (+0000) Subject: make rv_sha512 return sha512 hash str X-Git-Url: https://git.chaotic.ninja/gitweb/nishi/?a=commitdiff_plain;h=524cd853294016d42532d6b827bffa9c7035ffde;p=repoview.git make rv_sha512 return sha512 hash str git-svn-id: file:///raid/svn-personal/repoview/trunk@4 7e8b2a19-8934-dd40-8cb3-db22cdd5a80f --- 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; }