我正在尝试从传感器发送信息,在该传感器中,我已使用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);
(请原谅,如果我的英语不够好,但是我不太会说,我正在使用翻译器)