Exemple #1
0
void mget_md5_printf_hex(char *digest_hex, const char *fmt, ...)
{
	char *plaintext;
	va_list args;
	int size;

	va_start(args, fmt);
	size = vasprintf(&plaintext, fmt, args);
	va_end(args);

	if (plaintext) {
		unsigned char digest[mget_hash_get_len(MGET_DIGTYPE_MD5)];

		if (mget_hash_fast(MGET_DIGTYPE_MD5, plaintext, size, digest) == 0) {
			mget_memtohex(digest, sizeof(digest), digest_hex, sizeof(digest) * 2 +1);
		}

		xfree(plaintext);
	}
}
Exemple #2
0
static void test_utils(void)
{
	int it;
	unsigned char src[1];
	char dst1[3], dst2[3];

	for (int ndst = 1; ndst <= 3; ndst++) {
		for (it = 0; it <= 255; it++) {
			src[0] = (unsigned char) it;
			mget_memtohex(src, 1, dst1, ndst);
			snprintf(dst2, ndst, "%02x", src[0]);
			if (strcmp(dst1, dst2)) {
				info_printf("buffer_to_hex failed: '%s' instead of '%s' (ndst=%d)\n", dst1, dst2, ndst);
				failed++;
				break;
			}
		}

		if (it >= 256)
			ok++;
		else
			failed++;
	}
}