END_TEST /****************************************************************************** * MD5 Tests *****************************************************************************/ #define MD5_TEST(data, digest) { \ PurpleCipher *cipher = NULL; \ PurpleCipherContext *context = NULL; \ gchar cdigest[33]; \ gboolean ret = FALSE; \ \ cipher = purple_ciphers_find_cipher("md5"); \ context = purple_cipher_context_new(cipher, NULL); \ purple_cipher_context_append(context, (guchar *)(data), strlen((data))); \ \ ret = purple_cipher_context_digest_to_str(context, sizeof(cdigest), cdigest, \ NULL); \ \ fail_unless(ret == TRUE, NULL); \ \ fail_unless(strcmp((digest), cdigest) == 0, NULL); \ \ purple_cipher_context_destroy(context); \ } START_TEST(test_md5_empty_string) { MD5_TEST("", "d41d8cd98f00b204e9800998ecf8427e"); }
END_TEST /****************************************************************************** * MD5 Tests *****************************************************************************/ #define MD5_TEST(data, digest) { \ PurpleHash *hash = NULL; \ gchar cdigest[33]; \ gboolean ret = FALSE; \ \ hash = purple_md5_hash_new(); \ purple_hash_append(hash, (guchar *)(data), strlen((data))); \ \ ret = purple_hash_digest_to_str(hash, cdigest, sizeof(cdigest)); \ \ fail_unless(ret == TRUE, NULL); \ \ fail_unless(strcmp((digest), cdigest) == 0, NULL); \ \ g_object_unref(hash); \ } START_TEST(test_md5_empty_string) { MD5_TEST("", "d41d8cd98f00b204e9800998ecf8427e"); }
END_TEST START_TEST(test_md5_1_to_0_8_times) { MD5_TEST("123456789012345678901234567890123456789012345678901234567890" "12345678901234567890", "57edf4a22be3c955ac49da2e2107b67a"); }
END_TEST START_TEST(test_md5_A_to_Z_a_to_z_0_to_9) { MD5_TEST("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", "d174ab98d277d9f5a5611c2c9f419d9f"); }
END_TEST START_TEST(test_md5_a_to_z) { MD5_TEST("abcdefghijklmnopqrstuvwxyz", "c3fcd3d76192e4007dfb496cca67e13b"); }
END_TEST START_TEST(test_md5_message_digest) { MD5_TEST("message digest", "f96b697d7cb7938d525a2f31aaf161d0"); }
END_TEST START_TEST(test_md5_abc) { MD5_TEST("abc", "900150983cd24fb0d6963f7d28e17f72"); }
END_TEST START_TEST(test_md5_a) { MD5_TEST("a", "0cc175b9c0f1b6a831c399e269772661"); }