aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorame <[email protected]>2023-11-05 01:06:23 -0600
committerame <[email protected]>2023-11-05 01:06:23 -0600
commitd062e57c154b2bed76276d52681577028e859677 (patch)
treefe559ba7857d6dad1171571c265d88e99edde10a
parent5cd20516567da82c60b5513c732e23db6918a4b6 (diff)
tests & hash fixes
-rw-r--r--src/hash/adler.c2
-rw-r--r--src/hash/bsdchecksum.c2
-rw-r--r--src/hash/fletcher.c6
-rw-r--r--src/hash/xor.c2
-rw-r--r--tests/hash.lua30
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")
+
+