MD5 Hash Function

············

#include "m2m_type.h"

#include "m2m_sec_api.h"

············

 

CHAR body_of_file[] = "Text, Text, Text...";

 

CHAR *str_apires[] =

{

 "M2M_API_RESULT_INVALID_ARG",

             "M2M_API_RESULT_FAIL",

             "M2M_API_RESULT_SUCCESS"

};

 

INT8 i;

 

M2M_API_RESULT apires;

M2M_T_MD5_HANDLE MD5 = INVALID_DIG_HANDLE;

M2M_T_SHA_HANDLE SHA = INVALID_DIG_HANDLE;

M2M_T_SHA256_HANDLE SHA256 = INVALID_DIG_HANDLE;

 

DIG_RESULT_T *MD5_res = NULL;

DIG_RESULT_T *SHA_res = NULL;

DIG_RESULT_T *SHA256_res = NULL;

 

apires = m2m_MD5_Init(&MD5);

PrintToUart("apires m2m_MD5_Init : %s \r\n", str_apires[apires+1]);

 

apires = m2m_DIGEST_alloc_res((void *) MD5, &MD5_res);

PrintToUart("apires m2m_DIGEST_alloc_res : %s \r\n", str_apires[apires+1]);

 

apires = m2m_MD5_Update(MD5, (UINT8*)body_of_file, sizeof(body_of_file));

PrintToUart("apires m2m_MD5_Update : %s \r\n", str_apires[apires+1]);

 

apires = m2m_MD5_Final(&MD5, MD5_res);

PrintToUart("apires m2m_MD5_Final 1: %s \r\n", str_apires[apires+1]);

 

PrintToUart("res =  ");

for (i=0; i<MD5_resàsize; i++)

  {

    PrintToUart("%d ", *(MD5_resàresult+i));

  }

 

apires = m2m_DIGEST_destroy_res(&MD5_res);

PrintToUart("\r\napires m2m_DIGEST_destroy_res : %s \r\n", str_apires[apires+1]);