ESP32 MD5 代码

提供了两种方法:

#include 
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_spi_flash.h"
#include "string.h"
#include "crypto/md5.h"  
// 如果是idf4,应使用#include "esp32/rom/md5_hash.h"
#include "rom/md5_hash.h"

#include "esp_system.h"
#include "mbedtls/aes.h"
#include "mbedtls/md5.h"


int i, ret = 0;
unsigned char mbedtls_md5sum[16];
unsigned char content[] = "admin";

void md5_test(unsigned char *content) {
	struct MD5Context md5;
	MD5Init(&md5);
	unsigned char hash[17]="";
    
    MD5Update(&md5, content, strlen((const char *)content));
    MD5Final(hash,&md5);
    printf("\r\n************** MD5 Digest*******************\r\n");
    for (i = 0; i < 17; i++)
    {
        printf("%02x",hash[i]);
    }
}

void mbed_tls_md5(unsigned char *content,unsigned char *mbedtls_md5sum)
{
    ret = mbedtls_md5_ret(content, strlen((const char *)content), mbedtls_md5sum);
    if( ret != 0 )
        printf( "mbedtls_md5_ret() failed\n" );
    else
    {
        printf("\r\n************ mbedtls_md5_ret result ****************\r\n");
        for (i = 0; i < 16;i++)
        {
            printf("%02x", mbedtls_md5sum[i]);
        }
    }
}

void app_main()
{
    md5_test(content);
    mbed_tls_md5(content, mbedtls_md5sum);
    printf("\r\n************* END **************");
    fflush(stdout);
}

附:
MD5/Hmac_MD5在线计算:
(在线散列/哈希算法加密工具 - 密码工具箱 - 脚本之家在线工具)

你可能感兴趣的:(ESP32,C语言)