-
Notifications
You must be signed in to change notification settings - Fork 1
/
sha256.c
31 lines (29 loc) · 821 Bytes
/
sha256.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include <stdlib.h>
#include <string.h>
#include "openssl/sha.h"
unsigned char *
sha256(char *string)
{
unsigned char *hash=malloc(SHA256_DIGEST_LENGTH);
char *hashstr = malloc(SHA256_DIGEST_LENGTH);
SHA256_CTX sha256;
SHA256_Init(&sha256);
SHA256_Update(&sha256, string, strlen(string));
SHA256_Final(hash, &sha256);
hash[SHA256_DIGEST_LENGTH-1]=0;
return hash;
}
//void sha256Orig(char *string, char outputBuffer[65])
//{
//unsigned char hash[SHA256_DIGEST_LENGTH];
//SHA256_CTX sha256;
//SHA256_Init(&sha256);
//SHA256_Update(&sha256, string, strlen(string));
//SHA256_Final(hash, &sha256);
//int i = 0;
//for(i = 0; i < SHA256_DIGEST_LENGTH; i++)
//{
//sprintf(outputBuffer + (i * 2), "%02x", hash[i]);
//}
//outputBuffer[64] = 0;
//}