コード例 #1
0
END_TEST

/******************************************************************************
 * DES Tests
 *****************************************************************************/
#define DES_TEST(in, keyz, out, len) { \
	PurpleCipher *cipher = NULL; \
	guchar answer[len+1]; \
	gint ret = 0; \
	guchar decrypt[len+1] = in; \
	guchar key[8+1] = keyz;\
	guchar encrypt[len+1] = out;\
	\
	cipher = purple_des_cipher_new(); \
	purple_cipher_set_key(cipher, key, 8); \
	\
	ret = purple_cipher_encrypt(cipher, decrypt, len, answer, len); \
	fail_unless(ret == len, NULL); \
	fail_unless(memcmp(encrypt, answer, len) == 0, NULL); \
	\
	ret = purple_cipher_decrypt(cipher, encrypt, len, answer, len); \
	fail_unless(ret == len, NULL); \
	fail_unless(memcmp(decrypt, answer, len) == 0, NULL); \
	\
	g_object_unref(cipher); \
}

START_TEST(test_des_12345678) {
	DES_TEST("12345678",
	         "\x3b\x38\x98\x37\x15\x20\xf7\x5e",
	         "\x06\x22\x05\xac\x6a\x0d\x55\xdd",
	         8);
}
コード例 #2
0
ファイル: test_cipher.c プロジェクト: bf4/pidgin-mac
END_TEST

START_TEST(test_des_abcdefgh) {
	DES_TEST("abcdefgh",
	         "\x3b\x38\x98\x37\x15\x20\xf7\x5e",
	         "\x62\xe0\xc6\x8c\x48\xe4\x75\xed",
	         8);
}
コード例 #3
0
ファイル: test_cipher.c プロジェクト: bf4/pidgin-mac
END_TEST

/******************************************************************************
 * DES Tests
 *****************************************************************************/
#define DES_TEST(in, keyz, out, len) { \
	PurpleCipher *cipher = NULL; \
	PurpleCipherContext *context = NULL; \
	guchar answer[len+1]; \
	gint ret = 0; \
	guchar decrypt[len+1] = in; \
	guchar key[8+1] = keyz;\
	guchar encrypt[len+1] = out;\
	size_t outlen; \
	\
	cipher = purple_ciphers_find_cipher("des"); \
	context = purple_cipher_context_new(cipher, NULL); \
	purple_cipher_context_set_key(context, key); \
	\
	ret = purple_cipher_context_encrypt(context, decrypt, len, answer, &outlen); \
	fail_unless(ret == 0, NULL); \
	fail_unless(outlen == (len), NULL); \
	fail_unless(memcmp(encrypt, answer, len) == 0, NULL); \
	\
	ret = purple_cipher_context_decrypt(context, encrypt, len, answer, &outlen); \
	fail_unless(ret == 0, NULL); \
	fail_unless(outlen == (len), NULL); \
	fail_unless(memcmp(decrypt, answer, len) == 0, NULL); \
	\
	purple_cipher_context_destroy(context); \
}

START_TEST(test_des_12345678) {
	DES_TEST("12345678",
	         "\x3b\x38\x98\x37\x15\x20\xf7\x5e",
	         "\x06\x22\x05\xac\x6a\x0d\x55\xdd",
	         8);
}