我目前正在尝试将AES加密添加到使用TI cc2650 sensortag的现有beacon-demo中。我正在使用core / lib下的contiki提供的AES API。 我的主要看起来像这样:
static const uint8_t AES_key[16] = { 0xC0 , 0xC1 , 0xC2 , 0xC3 ,
0xC4 , 0xC5 , 0xC6 , 0xC7 ,
0xC8 , 0xC9 , 0xCA , 0xCB ,
0xCC , 0xCD , 0xCE , 0xCF };// AES Key
static uint8_t plain_text[16] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16}; // Plain-text to be encrypted.
const struct aes_128_driver AES_128;
.
.
.
printf("Plain_Text: %d \r\n", plain_text);
AES_128.set_key(AES_key);
AES_128.encrypt(plain_text);
printf("Encrypted_Text: %p\r\n", plain_text);
不幸的是,当我运行代码时,纯文本是不可更改的。使用一些额外的打印,我意识到加密功能正在工作,但输出仍然是不可更改的。有人可以告诉我这里我做错了什么吗?
请注意,我已将以下行添加到我的conf文件中:
#define AES_128_CONF aes_128_driver
答案 0 :(得分:0)
正如@kfx在评论const struct aes_128_driver AES_128
中所指出的那样,正在影响全局变量。