diff options
| author | ame <[email protected]> | 2024-03-11 14:02:12 -0500 |
|---|---|---|
| committer | ame <[email protected]> | 2024-03-11 14:02:12 -0500 |
| commit | 74289579ac66890ef0d7df2a5ec5f15f8308b8cd (patch) | |
| tree | 36570aa190e64b57c69c10e0cf0e3c1eb880bc92 /src/hash/sha01.c | |
| parent | 652146a3a4780ede6cc99ae56871f8f6bb506284 (diff) | |
hashing fixes
Diffstat (limited to 'src/hash/sha01.c')
| -rw-r--r-- | src/hash/sha01.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/hash/sha01.c b/src/hash/sha01.c index 07f8829..b8b70f9 100644 --- a/src/hash/sha01.c +++ b/src/hash/sha01.c @@ -3,7 +3,7 @@ #include <string.h> #include <stdint.h> -void i_sha01(uint8_t version, char* out_stream, const char* input){ +void i_sha01(uint8_t version, char* out_stream, int len, const char* input){ if(!out_stream||version > 2) return; uint32_t h0 = 0x67452301; uint32_t h1 = 0xEFCDAB89; @@ -11,8 +11,6 @@ void i_sha01(uint8_t version, char* out_stream, const char* input){ uint32_t h3 = 0x10325476; uint32_t h4 = 0xC3D2E1F0; - int len = 0; - for(int i = 0; input[i]!='\0'; i++) len++; int tlen = ((((len + 8) /64) + 1) * 64) - 8; uint8_t* by = NULL; @@ -87,12 +85,12 @@ void i_sha01(uint8_t version, char* out_stream, const char* input){ int l_sha1(lua_State* L){ - int len = 0; - char* a = (char*)luaL_checklstring(L, 1, NULL); + size_t len = 0; + char* a = (char*)luaL_checklstring(L, 1, &len); char digest[160]; - i_sha01(1, digest, a); + i_sha01(1, digest, len, a); lua_pushstring(L, digest); return 1; @@ -100,12 +98,12 @@ int l_sha1(lua_State* L){ int l_sha0(lua_State* L){ - int len = 0; - char* a = (char*)luaL_checklstring(L, 1, NULL); + size_t len = 0; + char* a = (char*)luaL_checklstring(L, 1, &len); char digest[160]; - i_sha01(0, digest, a); + i_sha01(0, digest, len, a); lua_pushstring(L, digest); return 1; |
