aboutsummaryrefslogtreecommitdiffstats
path: root/libblake_encode_hex.c
blob: 2f57acb52cd526663c36508dc0f6bbd64b4d42b0 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/* See LICENSE file for copyright and license details. */
#include "common.h"

void
libblake_encode_hex(const void *data_, size_t n, char out[/* static n * 2 + 1 */], int uppercase)
{
	const char *digits = uppercase ? "0123456789ABCDEF" : "0123456789abcdef";
	const unsigned char *data = data_;
	size_t i, j;

	for (j = 0, i = 0; i < n; i += 1) {
		out[j++] = digits[(data[i] >> 4) & 15];
		out[j++] = digits[(data[i] >> 0) & 15];
	}
	out[n * 2] = '\0';
}