]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
This now passes all the RIPEMD160 test vectors and is a complete and usable module:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Thu, 10 Apr 2008 16:31:02 +0000 (16:31 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Thu, 10 Apr 2008 16:31:02 +0000 (16:31 +0000)
[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

src/modules/m_ripemd160.cpp

index b6fd273444dafc4c1c345dc336485882b8afde5f..eed343243a3a7fb1620012801c5a8c7cbe1bd20b 100644 (file)
@@ -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)