File tree 3 files changed +17
-8
lines changed
3 files changed +17
-8
lines changed Original file line number Diff line number Diff line change @@ -82,6 +82,16 @@ String ArduinoOTAClass::getHostname() {
82
82
}
83
83
84
84
void ArduinoOTAClass::setPassword (const char * password) {
85
+ if (!_initialized && !_password.length () && password) {
86
+ MD5Builder passmd5;
87
+ passmd5.begin ();
88
+ passmd5.add (password);
89
+ passmd5.calculate ();
90
+ _password = passmd5.toString ();
91
+ }
92
+ }
93
+
94
+ void ArduinoOTAClass::setPasswordHash (const char * password) {
85
95
if (!_initialized && !_password.length () && password) {
86
96
_password = password;
87
97
}
@@ -206,13 +216,7 @@ void ArduinoOTAClass::_onRx(){
206
216
return ;
207
217
}
208
218
209
- MD5Builder _passmd5;
210
- _passmd5.begin ();
211
- _passmd5.add (_password);
212
- _passmd5.calculate ();
213
- String passmd5 = _passmd5.toString ();
214
-
215
- String challenge = passmd5 + " :" + String (_nonce) + " :" + cnonce;
219
+ String challenge = _password + " :" + String (_nonce) + " :" + cnonce;
216
220
MD5Builder _challengemd5;
217
221
_challengemd5.begin ();
218
222
_challengemd5.add (challenge);
Original file line number Diff line number Diff line change @@ -34,6 +34,7 @@ class ArduinoOTAClass
34
34
void setHostname (const char *hostname);
35
35
String getHostname ();
36
36
void setPassword (const char *password);
37
+ void setPasswordHash (const char *password);
37
38
void onStart (THandlerFunction fn);
38
39
void onEnd (THandlerFunction fn);
39
40
void onError (THandlerFunction_Error fn);
Original file line number Diff line number Diff line change @@ -24,7 +24,11 @@ void setup() {
24
24
// ArduinoOTA.setHostname("myesp8266");
25
25
26
26
// No authentication by default
27
- // ArduinoOTA.setPassword((const char *)"123");
27
+ // ArduinoOTA.setPassword("admin");
28
+
29
+ // Password can be set with it's md5 value as well
30
+ // MD5(admin) = 21232f297a57a5a743894a0e4a801fc3
31
+ // ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3");
28
32
29
33
ArduinoOTA.onStart ([]() {
30
34
String type;
You can’t perform that action at this time.
0 commit comments