]> Git repositories of Nishi - repoview.git/commitdiff
make rv_sha512 return sha512 hash str
authorNishi <nishi@nishi.boats>
Tue, 20 Aug 2024 21:10:25 +0000 (21:10 +0000)
committerNishi <nishi@nishi.boats>
Tue, 20 Aug 2024 21:10:25 +0000 (21:10 +0000)
git-svn-id: file:///raid/svn-personal/repoview/trunk@4 7e8b2a19-8934-dd40-8cb3-db22cdd5a80f

CGI/rv_sha512.h
CGI/sha512.c

index 8628fe852f95448bd9f2dfc7d927f59645093944..3aeebe13cbe4458a7689a22e48d99231af4de306 100644 (file)
@@ -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
index 83d0214d658437e475a218b774bd1ec40fea611a..592d3f1fac5232d57b7fd7e2b11948b00951988b 100644 (file)
@@ -7,8 +7,16 @@
 #include <stdlib.h>
 #include <string.h>
 
-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;
 }