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