From: brain Date: Thu, 10 Apr 2008 16:31:02 +0000 (+0000) Subject: This now passes all the RIPEMD160 test vectors and is a complete and usable module: X-Git-Tag: v2.0.23~3396 X-Git-Url: https://git.netwichtig.de/gitweb/?a=commitdiff_plain;h=1885e8805103c95aa75d73af8ee2fd55ad1b67e1;p=user%2Fhenk%2Fcode%2Finspircd.git 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 --- 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)