如何将包含十六进制值的uint8_t类型数组传递给具有这些十六进制数字表示形式的char类型的变量?

时间:2019-05-21 10:50:46

标签: c arduino

我正在尝试从传感器发送信息,在该传感器中,我已使用AES算法对信息进行了加密。

要进行装运,必须将发送的数据类型为char类型, 但是当使用传感器公司提供的代码时,我得到的数据是uint8_t类型的变量,其中包含以十六进制加密的消息。

我公开了我的问题:

我们有这个:

uint8_t encrypted_message [300];

在执行AES算法后,我们将获得以下信息,即它们不是固定值,而是随着程序的每次执行而变化:

encrypted_message = "AEF32344ABCD"

(这是一个示例,不是实际值。)

然后,其想法是从encrypted_message变量中获取这些值并将其输入到char数组中:

char cifrado[300]

具有相同的值,但在这种情况下为字符类型。

cifrado = "AEF32344ABCD"

通过这种方式,如果我可以发送它们,但是我试图进行某种转换,但是我得到了难以理解的字符。

我正在尝试类似代码示例中提供的操作,但是没有得到预期的结果:

char cifrado[300]; memset(cifrado, '\0', sizeof(cifrado)); strcat(requestESB, "&cifrado="); strcat(requestESB, (char*)encrypted_message);

(请原谅,如果我的英语不够好,但是我不太会说,我正在使用翻译器)

0 个答案:

没有答案