2023年12月7日发(作者:)

利用mbedtls库实现md5计算校验

由于mbedtls主要支持TCP的TLS传输实现,由于ARM公司加持,目前这个库的代码质量非常高,也可以用在其他领域,比如md4、

md5、sha1、sha256等等的计算实现,非常方便,这里给出计算md5的示例代码

example1注释给出计算字符串的md5,example2注释给出计算某个文件的md5,非常方便

#include

#include

#include

#include "mbedtls/net.h"

#include "mbedtls/ssl.h"

#include "mbedtls/entropy.h"

#include "mbedtls/ctr_drbg.h"

#include "mbedtls/debug.h"

int main ( int argc, char *argv[] )

{

int ret=0;

int i=0;

char *value="hello world";

uint8_t md5[16]={0};

const mbedtls_md_info_t *md_info = mbedtls_md_info_from_string("MD5");

//example1

ret=mbedtls_md(md_info,(uint8_t *)value,strlen(value),md5);

printf("%dn",ret);

for(i=0;i

{

printf("%02X",md5[i]);

}

printf("n");

//example2

ret=mbedtls_md_file(md_info,"/tmp/",md5);

printf("%dn",ret);

for(i=0;i

{

printf("%02X",md5[i]);

}

printf("n");

return 0;

}