1 /* 2 * Classic "Hello, world" demonstration program 3 * 4 * Copyright The Mbed TLS Contributors 5 * SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later 6 */ 7 8 #if !defined(MBEDTLS_CONFIG_FILE) 9 #include "mbedtls/config.h" 10 #else 11 #include MBEDTLS_CONFIG_FILE 12 #endif 13 14 #include "mbedtls/platform.h" 15 16 #if defined(MBEDTLS_MD5_C) 17 #include "mbedtls/md5.h" 18 #endif 19 20 #if !defined(MBEDTLS_MD5_C) main(void)21int main(void) 22 { 23 mbedtls_printf("MBEDTLS_MD5_C not defined.\n"); 24 mbedtls_exit(0); 25 } 26 #else 27 28 main(void)29int main(void) 30 { 31 int i, ret; 32 unsigned char digest[16]; 33 char str[] = "Hello, world!"; 34 35 mbedtls_printf("\n MD5('%s') = ", str); 36 37 if ((ret = mbedtls_md5_ret((unsigned char *) str, 13, digest)) != 0) { 38 mbedtls_exit(MBEDTLS_EXIT_FAILURE); 39 } 40 41 for (i = 0; i < 16; i++) { 42 mbedtls_printf("%02x", digest[i]); 43 } 44 45 mbedtls_printf("\n\n"); 46 47 #if defined(_WIN32) 48 mbedtls_printf(" Press Enter to exit this program.\n"); 49 fflush(stdout); getchar(); 50 #endif 51 52 mbedtls_exit(MBEDTLS_EXIT_SUCCESS); 53 } 54 #endif /* MBEDTLS_MD5_C */ 55