由于AESLib限制,使用了CBC-NoPadding
对应的Arduino代码:
#include <AESLib.h>
const PROGMEM char HEX_VALUES[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
#define CBLOCK (1 * N_BLOCK) + 1
char serialBuffer[120];
void setup() {
Serial.begin(115200);
}
void loop() {
crypt();
delay(10000);
}
void ByteToHexString(char * hexStrParam, unsigned char * byteArrayParam, unsigned int byteArrayLength)
{
unsigned char num;
for (int i = 0, u = 0; i < byteArrayLength; i++, u++)
{
num = byteArrayParam[i] >> 4;
hexStrParam[u] = (char)pgm_read_byte(HEX_VALUES + num);
num = byteArrayParam[i] & 0xf;

本文对比了Arduino使用AESLib库实现CBC模式加密与Java和Node.js的异同,详细展示了AES加密过程,并指出在Issue#17中遇到的问题,着重于AESLib对CBC模式的限制。
最低0.47元/天 解锁文章
6935

被折叠的 条评论
为什么被折叠?



