ESP32 MD5 代码

16 篇文章 1 订阅

提供了两种方法:

#include <stdio.h>
#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在线计算:
(在线散列/哈希算法加密工具 - 密码工具箱 - 脚本之家在线工具)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值