/* See LICENSE file for copyright and license details. */ #include "common.h" /** * Convert a binary hashsum to upper case hexadecimal representation * * @param output Output array, should have an allocation size of at least `2 * n + 1` * @param hashsum The hashsum to convert * @param n The size of `hashsum` */ void libsha2_behex_upper(char *restrict output, const char *restrict hashsum, size_t n) { output[2 * n] = '\0'; while (n--) { output[2 * n + 0] = "0123456789ABCDEF"[(hashsum[n] >> 4) & 15]; output[2 * n + 1] = "0123456789ABCDEF"[(hashsum[n] >> 0) & 15]; } }