我已将 AES-128 密钥定义为 IDE 中的构建符号,以便它像这样调用 GCC:
arm-none-eabi-gcc -D"AES_KEY=3B7116E69E222295163FF1CAA1681FAC" ...
(这相当于#define AES_KEY 3B7116E69E222295163FF1CAA1681FAC
)
优点是相同的符号也可以作为参数自动传递给构建后的 CLI 脚本,该脚本使用此密钥对编译后的代码进行加密(例如,用于安全的固件更新)...
但是如何将此密钥存储为字节数组
我的代码?
我想定义一个进行转换的预处理器宏:
uint8_t aes_key[] = { SPLIT_MACRO(AES_KEY) };
to
uint8_t aes_key[] = {0x3B, 0x71, 0x16, 0xE6, 0x9E, 0x22, 0x22, 0x95, ...};
换句话说,GCC 预处理器是否可以将密钥字符串拆分为 2 个字符的块并添加“, 0x
“ 它们之间?