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