19
19
#include < Arduino.h>
20
20
#include < MD5Builder.h>
21
21
22
- uint8_t hex_char_to_byte (uint8_t c)
22
+ static uint8_t hex_char_to_byte (uint8_t c)
23
23
{
24
24
return (c >= ' a' && c <= ' f' ) ? (c - ((uint8_t )' a' - 0xa )) :
25
25
(c >= ' A' && c <= ' F' ) ? (c - ((uint8_t )' A' - 0xA )) :
@@ -28,13 +28,13 @@ uint8_t hex_char_to_byte(uint8_t c)
28
28
29
29
void MD5Builder::begin (void )
30
30
{
31
- memset (_buf, 0x00 , 16 );
32
- MD5Init (&_ctx);
31
+ memset (_buf, 0x00 , ESP_ROM_MD5_DIGEST_LEN );
32
+ esp_rom_md5_init (&_ctx);
33
33
}
34
34
35
35
void MD5Builder::add (uint8_t * data, uint16_t len)
36
36
{
37
- MD5Update (&_ctx, data, len);
37
+ esp_rom_md5_update (&_ctx, data, len);
38
38
}
39
39
40
40
void MD5Builder::addHexString (const char * data)
@@ -82,7 +82,7 @@ bool MD5Builder::addStream(Stream & stream, const size_t maxLen)
82
82
}
83
83
84
84
// Update MD5 with buffer payload
85
- MD5Update (&_ctx, buf, numBytesRead);
85
+ esp_rom_md5_update (&_ctx, buf, numBytesRead);
86
86
87
87
// update available number of bytes
88
88
maxLengthLeft -= numBytesRead;
@@ -94,24 +94,24 @@ bool MD5Builder::addStream(Stream & stream, const size_t maxLen)
94
94
95
95
void MD5Builder::calculate (void )
96
96
{
97
- MD5Final (_buf, &_ctx);
97
+ esp_rom_md5_final (_buf, &_ctx);
98
98
}
99
99
100
100
void MD5Builder::getBytes (uint8_t * output)
101
101
{
102
- memcpy (output, _buf, 16 );
102
+ memcpy (output, _buf, ESP_ROM_MD5_DIGEST_LEN );
103
103
}
104
104
105
105
void MD5Builder::getChars (char * output)
106
106
{
107
- for (uint8_t i = 0 ; i < 16 ; i++) {
107
+ for (uint8_t i = 0 ; i < ESP_ROM_MD5_DIGEST_LEN ; i++) {
108
108
sprintf (output + (i * 2 ), " %02x" , _buf[i]);
109
109
}
110
110
}
111
111
112
112
String MD5Builder::toString (void )
113
113
{
114
- char out[33 ];
114
+ char out[(ESP_ROM_MD5_DIGEST_LEN * 2 ) + 1 ];
115
115
getChars (out);
116
116
return String (out);
117
117
}
0 commit comments