Как я могу передать массив типа uint8_t, содержащий шестнадцатеричные значения, в переменный тип char с представлением этих шестнадцатеричных чисел? - PullRequest
0 голосов
/ 21 мая 2019

Я пытаюсь отправить информацию с датчика, где я сделал шифрование информации с использованием алгоритма 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);

(простите, если мой английский достаточно плох, но я не очень хорошпри разговоре и я использую переводчик)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...