sha1/sha256

This commit is contained in:
Ryan Fleury
2025-10-02 17:07:16 -07:00
parent 104e72999c
commit ee759dbac7
3 changed files with 590 additions and 2 deletions
+18 -1
View File
@@ -2,7 +2,7 @@
// Licensed under the MIT license (https://opensource.org/license/mit/)
////////////////////////////////
//~ rjf: Hash Functions
//~ rjf: MD5
#if !defined(MD5_API)
# define MD5_API static
@@ -21,10 +21,21 @@ md5_from_data(String8 data)
return result;
}
////////////////////////////////
//~ rjf: SHA1
#include "third_party/tomcrypt_hash/tomcrypt_hash.h"
internal SHA1
sha1_from_data(String8 data)
{
SHA1 result = {0};
{
SHA1State state = {0};
sha1_init(&state);
sha1_process(&state, data.str, data.size);
sha1_done(&state, result.u8);
}
return result;
}
@@ -32,5 +43,11 @@ internal SHA256
sha256_from_data(String8 data)
{
SHA256 result = {0};
{
SHA256State state = {0};
sha256_init(&state);
sha256_process(&state, data.str, data.size);
sha256_done(&state, result.u8);
}
return result;
}
+5 -1
View File
@@ -35,9 +35,13 @@ union SHA256
};
////////////////////////////////
//~ rjf: Hash Functions
//~ rjf: MD5
internal MD5 md5_from_data(String8 data);
////////////////////////////////
//~ rjf: SHA
internal SHA1 sha1_from_data(String8 data);
internal SHA256 sha256_from_data(String8 data);