diff options
Diffstat (limited to 'src/common/checksum.c')
-rw-r--r-- | src/common/checksum.c | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/src/common/checksum.c b/src/common/checksum.c deleted file mode 100644 index a0f2cdef..00000000 --- a/src/common/checksum.c +++ /dev/null @@ -1,74 +0,0 @@ -/* this is a cleaned-up version of - * http://adamlamers.com/?p=5 - */ - -#include <stdio.h> -#include <malloc.h> -#include <errno.h> - -#include "checksum.h" - -void -sha256_hash_string (unsigned char hash[SHA256_DIGEST_LENGTH], char outputBuffer[65]) -{ - int i = 0; - for (i = 0; i < SHA256_DIGEST_LENGTH; i++) - { - sprintf(outputBuffer + (i * 2), "%02x", hash[i]); - } - outputBuffer[64] = 0; -} - -void -sha256 (char *string, char outputBuffer[65]) -{ - int i; - unsigned char hash[SHA256_DIGEST_LENGTH]; - SHA256_CTX sha256; - - SHA256_Init (&sha256); - SHA256_Update (&sha256, string, strlen(string)); - SHA256_Final (hash, &sha256); - - for (i = 0; i < SHA256_DIGEST_LENGTH; i++) - { - sprintf (outputBuffer + (i * 2), "%02x", hash[i]); - } - outputBuffer[64] = 0; -} - -int -sha256_file (char *path, char outputBuffer[65]) -{ - int bytesRead; - unsigned char *buffer; - unsigned char hash[SHA256_DIGEST_LENGTH]; - SHA256_CTX sha256; - - FILE *file = fopen (path, "rb"); - if (!file) - { - return -534; - } - - SHA256_Init (&sha256); - buffer = malloc (BUFSIZE); - bytesRead = 0; - - if (!buffer) - { - return ENOMEM; - } - - while ((bytesRead = fread (buffer, 1, BUFSIZE, file))) - { - SHA256_Update (&sha256, buffer, bytesRead); - } - - SHA256_Final (hash, &sha256); - sha256_hash_string (hash, outputBuffer); - - fclose (file); - free (buffer); - return 0; -} |