diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-04-10 16:31:02 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2008-04-10 16:31:02 +0000 |
commit | 1885e8805103c95aa75d73af8ee2fd55ad1b67e1 (patch) | |
tree | 7fd9863b463f3b28a6065b49b327a25a0067b140 /src | |
parent | c492f5a98732d9d856e0846ece467d964dab646a (diff) |
This now passes all the RIPEMD160 test vectors and is a complete and usable module:
[17:27] --- ripemd160 hashed password for a is 0bdc9d2d256b3ee9daae347be6f4dc835a467ffe
[17:27] --- ripemd160 hashed password for abc is 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc
[17:27] --- ripemd160 hashed password for message is 1dddbe1bea18cfda41f3fa4e6e66dbbbab93774e
[17:27] --- ripemd160 hashed password for message digest is 5d0689ef49d2fae572b881b123a85ffa21595f36
[17:28] --- ripemd160 hashed password for abcdefghijklmnopqrstuvwxyz is f71c27109c692c1b56bbdceb5b9d2865b3708dbc
[17:28] --- ripemd160 hashed password for is 9c1185a5c5e9fc54612808977ee8f548b2258d31
[17:28] --- ripemd160 hashed password for abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq is 12a053384a9c0c88e405a06c27dcf49ada62eb2b
[17:29] --- ripemd160 hashed password for ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 is b0e20b6e3116640286ed3a87a5713079b21f5189
[17:29] --- ripemd160 hashed password for 12345678901234567890123456789012345678901234567890123456789012345678901234567890 is 9b752e45573d4b39f4dbd3323cab82bf63326bfb
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9448 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r-- | src/modules/m_ripemd160.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/modules/m_ripemd160.cpp b/src/modules/m_ripemd160.cpp index b6fd27344..eed343243 100644 --- a/src/modules/m_ripemd160.cpp +++ b/src/modules/m_ripemd160.cpp @@ -156,6 +156,7 @@ class ModuleRIPEMD160 : public Module { if (key) { + ServerInstance->Logs->Log("m_ripemd160.so", DEBUG, "initialize with custom mdbuf"); MDbuf[0] = key[0]; MDbuf[1] = key[1]; MDbuf[2] = key[2]; @@ -164,6 +165,7 @@ class ModuleRIPEMD160 : public Module } else { + ServerInstance->Logs->Log("m_ripemd160.so", DEBUG, "initialize with default mdbuf"); MDbuf[0] = 0x67452301UL; MDbuf[1] = 0xefcdab89UL; MDbuf[2] = 0x98badcfeUL; @@ -404,6 +406,7 @@ class ModuleRIPEMD160 : public Module byte *RMD(byte *message, dword length, unsigned int* key) { + ServerInstance->Logs->Log("m_ripemd160", DEBUG, "RMD: '%s' length=%u", (const char*)message, length); dword MDbuf[RMDsize/32]; /* contains (A, B, C, D(, E)) */ static byte hashcode[RMDsize/8]; /* for final hash-value */ dword X[16]; /* current 16-word chunk */ @@ -466,13 +469,15 @@ class ModuleRIPEMD160 : public Module else if (strcmp("SUM", request->GetId()) == 0) { static char output[MAXBUF]; - char* data = (char*)RMD((byte *)SHA->GetHashData().data(),SHA->GetHashData().length(), currkey); - for (int i = 0, j = 0; i < RMDsize / 8; i++) + unsigned char* data = (unsigned char*)RMD((byte *)SHA->GetHashData().data(),SHA->GetHashData().length(), currkey); + int j = 0; + for (int i = 0; i < RMDsize / 8; i++) { output[j++] = chars[data[i] / 16]; output[j++] = chars[data[i] % 16]; - output[j] = '\0'; + ServerInstance->Logs->Log("m_ripemd160", DEBUG, "Hash: %02x", data[i]); } + output[j] = '\0'; return output; } else if (strcmp("NAME", request->GetId()) == 0) |