Я пытаюсь отправить информацию с датчика, где я сделал шифрование информации с использованием алгоритма AES.
Чтобы выполнить отгрузку, необходимо, чтобы тип отправляемых данных был типа char, но при использовании кода, предоставленного компанией-датчиком, данные, которые я получаю, представляют собой переменную типа uint8_t, котораясодержит мое сообщение, зашифрованное в шестнадцатеричном формате.
Я раскрываю свою проблему:
У нас есть это:
uint8_t encrypted_message [300];
гдемы получаем следующую информацию после выполнения алгоритма AES, то есть они не являются фиксированными значениями, а меняются при каждом выполнении программы:
encrypted_message = "AEF32344ABCD"
(Этовыше приведен пример, это не фактические значения.)
Затем , идея состоит в том, чтобы взять эти значения из переменной encrypted_message
и ввести ее в символмассив:
char cifrado[300]
, который имеет те же значения, но в данном случае в типе символов.
cifrado = "AEF32344ABCD"
Таким образом, если ямогу отправить их, но я пытаюсь сделать какое-то преобразование, но я получаю неразборчивые символы.
Я - трчто-то вроде того, что приведено в примере кода, но я не получаю ожидаемого результата:
char cifrado[300];
memset(cifrado, '\0', sizeof(cifrado));
strcat(requestESB, "&cifrado=");
strcat(requestESB, (char*)encrypted_message);
(простите, если мой английский достаточно плох, но я не очень хорошпри разговоре и я использую переводчик)