mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-21 10:26:06 +03:00
add more functions to handle sha1 in differed cases
This commit is contained in:
parent
495e21d53e
commit
4b786d0df6
@ -9,15 +9,21 @@ void setup() {
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
||||
// usage as String
|
||||
// SHA1:a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
|
||||
|
||||
Serial.print("SHA1:");
|
||||
Serial.println(sha1("abc"));
|
||||
|
||||
// usage as ptr
|
||||
// SHA1:a94a8fe5ccb19ba61c4c0873d391e987982fbbd3
|
||||
uint8_t hash[20];
|
||||
const uint8_t test[] = "test";
|
||||
sha1("abc", &hash[0]);
|
||||
|
||||
sha1((uint8_t *)&test[0], sizeof(test)-1, &hash[0]);
|
||||
|
||||
// SHA1: A94A8FE5CCB19BA61C4C0873D391E987982FBBD3
|
||||
Serial.print("SHA1:");
|
||||
for(uint16_t i = 0; i < 20; i++) {
|
||||
Serial.printf("%02X", hash[i]);
|
||||
Serial.printf("%02x", hash[i]);
|
||||
}
|
||||
Serial.println();
|
||||
|
||||
|
@ -66,6 +66,52 @@ void sha1(uint8_t * data, uint32_t size, uint8_t hash[20]) {
|
||||
#endif
|
||||
}
|
||||
|
||||
void sha1(char * data, uint32_t size, uint8_t hash[20]) {
|
||||
sha1((uint8_t *) data, size, hash);
|
||||
}
|
||||
|
||||
void sha1(const uint8_t * data, uint32_t size, uint8_t hash[20]) {
|
||||
sha1((uint8_t *) data, size, hash);
|
||||
}
|
||||
|
||||
void sha1(const char * data, uint32_t size, uint8_t hash[20]) {
|
||||
sha1((uint8_t *) data, size, hash);
|
||||
}
|
||||
|
||||
void sha1(String data, uint8_t hash[20]) {
|
||||
sha1(data.c_str(), data.length(), hash);
|
||||
}
|
||||
|
||||
String sha1(uint8_t* data, uint32_t size) {
|
||||
uint8_t hash[20];
|
||||
String hashStr = "";
|
||||
|
||||
sha1(&data[0], size, &hash[0]);
|
||||
|
||||
for(uint16_t i = 0; i < 20; i++) {
|
||||
String hex = String(hash[i], HEX);
|
||||
if(hex.length() < 2) {
|
||||
hex = "0" + hex;
|
||||
}
|
||||
hashStr += hex;
|
||||
}
|
||||
|
||||
return hashStr;
|
||||
}
|
||||
|
||||
String sha1(char* data, uint32_t size) {
|
||||
return sha1((uint8_t*) data, size);
|
||||
}
|
||||
|
||||
String sha1(const uint8_t* data, uint32_t size) {
|
||||
return sha1((uint8_t*) data, size);
|
||||
}
|
||||
|
||||
String sha1(const char* data, uint32_t size) {
|
||||
return sha1((uint8_t*) data, size);
|
||||
}
|
||||
|
||||
String sha1(String data) {
|
||||
return sha1(data.c_str(), data.length());
|
||||
}
|
||||
|
||||
|
@ -28,6 +28,15 @@
|
||||
//#define DEBUG_SHA1
|
||||
|
||||
void sha1(uint8_t * data, uint32_t size, uint8_t hash[20]);
|
||||
void sha1(char * data, uint32_t size, uint8_t hash[20]);
|
||||
void sha1(const uint8_t * data, uint32_t size, uint8_t hash[20]);
|
||||
void sha1(const char * data, uint32_t size, uint8_t hash[20]);
|
||||
void sha1(String data , uint8_t hash[20]);
|
||||
|
||||
String sha1(uint8_t* data, uint32_t size);
|
||||
String sha1(char* data, uint32_t size);
|
||||
String sha1(uint8_t* data, uint32_t size);
|
||||
String sha1(const char* data, uint32_t size);
|
||||
String sha1(String data);
|
||||
|
||||
#endif /* HASH_H_ */
|
||||
|
Loading…
x
Reference in New Issue
Block a user