1919#include < Arduino.h>
2020#include < MD5Builder.h>
2121
22- uint8_t hex_char_to_byte (uint8_t c)
22+ static uint8_t hex_char_to_byte (uint8_t c)
2323{
2424 return (c >= ' a' && c <= ' f' ) ? (c - ((uint8_t )' a' - 0xa )) :
2525 (c >= ' A' && c <= ' F' ) ? (c - ((uint8_t )' A' - 0xA )) :
@@ -28,13 +28,13 @@ uint8_t hex_char_to_byte(uint8_t c)
2828
2929void MD5Builder::begin (void )
3030{
31- memset (_buf, 0x00 , 16 );
32- MD5Init (&_ctx);
31+ memset (_buf, 0x00 , ESP_ROM_MD5_DIGEST_LEN );
32+ esp_rom_md5_init (&_ctx);
3333}
3434
3535void MD5Builder::add (uint8_t * data, uint16_t len)
3636{
37- MD5Update (&_ctx, data, len);
37+ esp_rom_md5_update (&_ctx, data, len);
3838}
3939
4040void MD5Builder::addHexString (const char * data)
@@ -82,7 +82,7 @@ bool MD5Builder::addStream(Stream & stream, const size_t maxLen)
8282 }
8383
8484 // Update MD5 with buffer payload
85- MD5Update (&_ctx, buf, numBytesRead);
85+ esp_rom_md5_update (&_ctx, buf, numBytesRead);
8686
8787 // update available number of bytes
8888 maxLengthLeft -= numBytesRead;
@@ -94,24 +94,24 @@ bool MD5Builder::addStream(Stream & stream, const size_t maxLen)
9494
9595void MD5Builder::calculate (void )
9696{
97- MD5Final (_buf, &_ctx);
97+ esp_rom_md5_final (_buf, &_ctx);
9898}
9999
100100void MD5Builder::getBytes (uint8_t * output)
101101{
102- memcpy (output, _buf, 16 );
102+ memcpy (output, _buf, ESP_ROM_MD5_DIGEST_LEN );
103103}
104104
105105void MD5Builder::getChars (char * output)
106106{
107- for (uint8_t i = 0 ; i < 16 ; i++) {
107+ for (uint8_t i = 0 ; i < ESP_ROM_MD5_DIGEST_LEN ; i++) {
108108 sprintf (output + (i * 2 ), " %02x" , _buf[i]);
109109 }
110110}
111111
112112String MD5Builder::toString (void )
113113{
114- char out[33 ];
114+ char out[(ESP_ROM_MD5_DIGEST_LEN * 2 ) + 1 ];
115115 getChars (out);
116116 return String (out);
117117}
0 commit comments