34void rc_md5_calc(
unsigned char *output,
unsigned char const *input,
37 struct md5_ctx context;
40 md5_update(&context, inlen, input);
41#ifdef HAVE_DIGEST_LENGTH_ARG
42 md5_digest(&context, MD5_DIGEST_SIZE, output);
44 md5_digest(&context, output);
48void rc_hmac_md5(uint8_t *data,
size_t data_len,
49 uint8_t *key,
size_t key_len,
50 uint8_t digest[MD5_DIGEST_SIZE])
52 struct hmac_md5_ctx md5;
54 memset(digest, 0, MD5_DIGEST_SIZE);
55 hmac_md5_set_key(&md5, key_len, key);
56 hmac_md5_update(&md5, data_len, data);
57#ifdef HAVE_DIGEST_LENGTH_ARG
58 hmac_md5_digest(&md5, MD5_DIGEST_SIZE, digest);
60 hmac_md5_digest(&md5, digest);
64void rc_sha256_calc(uint8_t output[RC_SHA256_DIGEST_SIZE],
65 unsigned char const *input,
size_t inlen)
67 struct sha256_ctx context;
69 sha256_init(&context);
70 sha256_update(&context, inlen, input);
71#ifdef HAVE_DIGEST_LENGTH_ARG
72 sha256_digest(&context, RC_SHA256_DIGEST_SIZE, output);
74 sha256_digest(&context, output);