Eu tenho um app iOS/Android que envia uma mensagem codificado com AES para um dispositivo ESP32, porém não estou conseguindo fazer a rotina de decodificação.
Segue a mensagem:
cZhQI2vvcqKO9YWwFPCEYyL/2DuNdafHuUYJ5LJuSFghC8CQkjyLbFL5RM+nb58QAX2x1JW0GvO3sBXEhixa8nPIhvkFevftUvhEt8+flRCA0444xataKcnRIYxMcpQiPay9tTTk2Mwqs27UnzPa9ZGTFV2HQAVoAygm1F51N6DWYX5hI8LeyKICukJSFbyTmSpdDyFuygQm712vK1Q3Wod0uYRXDZMaMTEvb9lp1hAS8ssjqpbbNHdXwo0t8mphmY/vvEZZetcEMl2sJa6Wutnb8qZ/HCFevsCmxC56SRk0/dZNQlm4sFJSoWiEgeOIVzER03CDYO7AHJZOLIkBqg==
Segue o código feito para ESP32 que precisa ser finalizado:
void decrypt(String value, char* output)
{
int length = [login to view URL]() + 1;
char decoded[length];
decode_base64((unsigned char*)value.c_str(), (unsigned char*)decoded);
strcpy(output, decoded);
// Adicionar a decodificação AES
}
Segue abaixo o código do app que envia a mensagem para o dispositivo ESP32:
private static byte[] KEY1 = { 98, 193, 95, 78, 211, 151, 118, 57, 179, 5, 85, 181, 133, 20, 94, 101, 184, 175, 94, 164, 150, 119, 75, 207, 189, 178, 21, 213, 13, 217, 174, 44 };
private static byte[] IV1 = { 1, 199, 179, 189, 160, 220, 229, 238, 179, 14, 255, 147, 187, 49, 179, 134 };
private byte[] Encrypt(string value)
{
byte[] ret = null;
byte[] data = [login to view URL](value);
AesCryptoServiceProvider csp = new AesCryptoServiceProvider();
[login to view URL] = KEY1;
[login to view URL] = IV1;
ICryptoTransform encrypter = [login to view URL]();
data = [login to view URL](data, 0, [login to view URL]);
string base64 = [login to view URL](data);
ret = [login to view URL](base64);
return (ret);
}