mte/unikernel/duniverse/dune_/vendor/sha/util.h

36 lines
654 B
C
Raw Normal View History

2025-11-11 02:07:51 +01:00
#ifndef UTIL_H
#define UTIL_H
static int hex_to_int(char c)
{
if ('0' <= c && c <= '9')
return c - '0';
else if ('a' <= c && c <= 'f')
return c - 'a' + 10;
else if ('A' <= c && c <= 'F')
return c - 'A' + 10;
else
return -1;
}
static int of_hex(unsigned char *dst, const char *src, int n)
{
int i;
if (n % 2 != 0)
return -1;
for (i = 0; i < n/2; i++) {
int a, b;
a = hex_to_int(src[i*2]);
if(a < 0)
return -1;
b = hex_to_int(src[i*2 + 1]);
if(b < 0)
return -1;
dst[i] = a*16 + b;
}
return n/2;
}
#endif