diff options
| author | ame <[email protected]> | 2023-11-05 01:06:23 -0600 |
|---|---|---|
| committer | ame <[email protected]> | 2023-11-05 01:06:23 -0600 |
| commit | 2b4f5bdf9ee42d321c2904da9595c11f9a7c592b (patch) | |
| tree | fe559ba7857d6dad1171571c265d88e99edde10a | |
| parent | 0e4aeb5ee6878c74f8116b0719a90e167d17c6b4 (diff) | |
tests & hash fixes
| -rw-r--r-- | src/hash/adler.c | 2 | ||||
| -rw-r--r-- | src/hash/bsdchecksum.c | 2 | ||||
| -rw-r--r-- | src/hash/fletcher.c | 6 | ||||
| -rw-r--r-- | src/hash/xor.c | 2 | ||||
| -rw-r--r-- | tests/hash.lua | 30 |
5 files changed, 36 insertions, 6 deletions
diff --git a/src/hash/adler.c b/src/hash/adler.c index a43318a..a893373 100644 --- a/src/hash/adler.c +++ b/src/hash/adler.c @@ -21,7 +21,7 @@ int l_adler32(lua_State* L){ char digest[32]; uint32_t u = i_adler32(a, len); - sprintf(digest,"%x",u); + sprintf(digest,"%08x",u); lua_pushstring(L, digest); return 1; diff --git a/src/hash/bsdchecksum.c b/src/hash/bsdchecksum.c index 1c69497..d2cd874 100644 --- a/src/hash/bsdchecksum.c +++ b/src/hash/bsdchecksum.c @@ -23,7 +23,7 @@ int l_bsdchecksum(lua_State* L){ char digest[16]; uint16_t u = i_bsdchecksum(a, len); - sprintf(digest,"%x",u); + sprintf(digest,"%i",u); lua_pushstring(L, digest); return 1; diff --git a/src/hash/fletcher.c b/src/hash/fletcher.c index 2ed7e42..0d82fd0 100644 --- a/src/hash/fletcher.c +++ b/src/hash/fletcher.c @@ -40,7 +40,7 @@ int l_fletcher32(lua_State* L){ char digest[32]; uint32_t u = i_fletcher32(a, len); - sprintf(digest,"%x",u); + sprintf(digest,"%08x",u); lua_pushstring(L, digest); return 1; @@ -54,7 +54,7 @@ int l_fletcher16(lua_State* L){ char digest[16]; uint16_t u = i_fletcher16(a, len); - sprintf(digest,"%x",u); + sprintf(digest,"%04x",u); lua_pushstring(L, digest); return 1; @@ -68,7 +68,7 @@ int l_fletcher8(lua_State* L){ char digest[8]; uint8_t u = i_fletcher8(a, len); - sprintf(digest,"%x",u); + sprintf(digest,"%02x",u); lua_pushstring(L, digest); return 1; diff --git a/src/hash/xor.c b/src/hash/xor.c index a2c1b0b..5fe23b7 100644 --- a/src/hash/xor.c +++ b/src/hash/xor.c @@ -19,7 +19,7 @@ int l_xor8(lua_State* L){ char digest[8]; uint8_t u = i_xor8(a, len); - sprintf(digest,"%x",u); + sprintf(digest,"%02x",u); lua_pushstring(L, digest); return 1; diff --git a/tests/hash.lua b/tests/hash.lua new file mode 100644 index 0000000..dd6d5b1 --- /dev/null +++ b/tests/hash.lua @@ -0,0 +1,30 @@ +require "llib" + +function test(name,b,exp) + local hash = llib.crypto[name](b) + if not (hash == exp) then + print(name.." not working, got "..hash) + end +end + +test("adler32","meow","043c01b9") +test("bsdchecksum","meow","24789") +test("crc8","meow","a4") +test("crc16","meow","6561") +test("crc32","meow","8a106afe") +test("crc32","meow","8a106afe") +test("fletcher8","meow","05") +test("fletcher16","meow","3cb9") +test("fletcher32","meow","043801b8") +test("md5","meow","4a4be40c96ac6314e91d93f38043a634") +test("pearson","meow","10") +test("sha0","meow","36a22def8a9e92a1ee73579abc389e8a21b24b61") +test("sha1","meow","7d5c2a2d6136fbf166211d5183bf66214a247f31") +test("sha224","meow","e28f8ee4dd8618b890df366b85a2d45d2506dd842e95272b9a598998") +test("sha256","meow","404cdd7bc109c432f8cc2443b45bcfe95980f5107215c645236e577929ac3e52") +test("sysvchecksum","meow","1b8") +test("xor8","meow","48") +test("xxh32","meow","6ba6f6f0") +test("xxh64","meow","bc11093a30a6315f") + + |
