esp-idf/components/mbedtls/test_apps/main/test_mbedtls_utils.c

31 wiersze
705 B
C

/*
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <stdlib.h>
#include <stdint.h>
#include "test_mbedtls_utils.h"
static inline char to_hex_digit(unsigned val)
{
return (val < 10) ? ('0' + val) : ('a' + val - 10);
}
void utils_bin2hex(char *const hex, const size_t hex_maxlen, const unsigned char *const bin, const size_t bin_len)
{
assert(bin_len < SIZE_MAX / 2);
assert(hex_maxlen > bin_len * 2U);
assert(hex);
assert(bin);
int i;
for (i = 0; i < bin_len; i++) {
hex[2*i] = to_hex_digit(bin[i] >> 4);
hex[2*i + 1] = to_hex_digit(bin[i] & 0xf);
}
hex[i * 2U] = 0U;
}