1a8e1175bSopenharmony_ci/* BEGIN_HEADER */
2a8e1175bSopenharmony_ci#include "mbedtls/md5.h"
3a8e1175bSopenharmony_ci#include "mbedtls/ripemd160.h"
4a8e1175bSopenharmony_ci/* END_HEADER */
5a8e1175bSopenharmony_ci
6a8e1175bSopenharmony_ci/* BEGIN_CASE depends_on:MBEDTLS_MD5_C */
7a8e1175bSopenharmony_civoid md5_text(char *text_src_string, data_t *hash)
8a8e1175bSopenharmony_ci{
9a8e1175bSopenharmony_ci    int ret;
10a8e1175bSopenharmony_ci    unsigned char src_str[100];
11a8e1175bSopenharmony_ci    unsigned char output[16];
12a8e1175bSopenharmony_ci
13a8e1175bSopenharmony_ci    memset(src_str, 0x00, sizeof(src_str));
14a8e1175bSopenharmony_ci    memset(output, 0x00, sizeof(output));
15a8e1175bSopenharmony_ci
16a8e1175bSopenharmony_ci    strncpy((char *) src_str, text_src_string, sizeof(src_str) - 1);
17a8e1175bSopenharmony_ci
18a8e1175bSopenharmony_ci    ret = mbedtls_md5(src_str, strlen((char *) src_str), output);
19a8e1175bSopenharmony_ci    TEST_ASSERT(ret == 0);
20a8e1175bSopenharmony_ci
21a8e1175bSopenharmony_ci    TEST_ASSERT(mbedtls_test_hexcmp(output, hash->x,
22a8e1175bSopenharmony_ci                                    sizeof(output), hash->len) == 0);
23a8e1175bSopenharmony_ci}
24a8e1175bSopenharmony_ci/* END_CASE */
25a8e1175bSopenharmony_ci
26a8e1175bSopenharmony_ci/* BEGIN_CASE depends_on:MBEDTLS_RIPEMD160_C */
27a8e1175bSopenharmony_civoid ripemd160_text(char *text_src_string, data_t *hash)
28a8e1175bSopenharmony_ci{
29a8e1175bSopenharmony_ci    int ret;
30a8e1175bSopenharmony_ci    unsigned char src_str[100];
31a8e1175bSopenharmony_ci    unsigned char output[20];
32a8e1175bSopenharmony_ci
33a8e1175bSopenharmony_ci    memset(src_str, 0x00, sizeof(src_str));
34a8e1175bSopenharmony_ci    memset(output, 0x00, sizeof(output));
35a8e1175bSopenharmony_ci
36a8e1175bSopenharmony_ci    strncpy((char *) src_str, text_src_string, sizeof(src_str) - 1);
37a8e1175bSopenharmony_ci
38a8e1175bSopenharmony_ci    ret = mbedtls_ripemd160(src_str, strlen((char *) src_str), output);
39a8e1175bSopenharmony_ci    TEST_ASSERT(ret == 0);
40a8e1175bSopenharmony_ci
41a8e1175bSopenharmony_ci    TEST_ASSERT(mbedtls_test_hexcmp(output, hash->x,
42a8e1175bSopenharmony_ci                                    sizeof(output), hash->len) == 0);
43a8e1175bSopenharmony_ci}
44a8e1175bSopenharmony_ci/* END_CASE */
45a8e1175bSopenharmony_ci
46a8e1175bSopenharmony_ci/* BEGIN_CASE depends_on:MBEDTLS_MD5_C:MBEDTLS_SELF_TEST */
47a8e1175bSopenharmony_civoid md5_selftest()
48a8e1175bSopenharmony_ci{
49a8e1175bSopenharmony_ci    TEST_ASSERT(mbedtls_md5_self_test(1) == 0);
50a8e1175bSopenharmony_ci}
51a8e1175bSopenharmony_ci/* END_CASE */
52a8e1175bSopenharmony_ci
53a8e1175bSopenharmony_ci/* BEGIN_CASE depends_on:MBEDTLS_RIPEMD160_C:MBEDTLS_SELF_TEST */
54a8e1175bSopenharmony_civoid ripemd160_selftest()
55a8e1175bSopenharmony_ci{
56a8e1175bSopenharmony_ci    TEST_ASSERT(mbedtls_ripemd160_self_test(1) == 0);
57a8e1175bSopenharmony_ci}
58a8e1175bSopenharmony_ci/* END_CASE */
59