1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-13 13:01:55 +03:00

add more functions to handle sha1 in differed cases

This commit is contained in:
Markus Sattler
2015-05-20 19:41:40 +02:00
parent 495e21d53e
commit 4b786d0df6
3 changed files with 67 additions and 6 deletions

View File

@ -27,7 +27,7 @@
#include "Hash.h"
extern "C" {
#include "sha1/sha1.h"
#include "sha1/sha1.h"
}
/**
@ -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());
}