这个是哪里有问题,加密出来结果不对~

2020-09-15 23:55:40 +08:00
 kekeones
#include <mbedtls/aes.h>

mbedtls_aes_context aes;

unsigned char key[] = "1234567890123456";
unsigned char  iv[] = "1234567890123456";

String bla = "testme";
unsigned char out[16];
unsigned char inp[16]; 


int size = sizeof(bla);

for (int i = 0; i < size; i++)
{
    inp[i] = bla[i];
}

for (int i = size; i < 16; i++)
{
    inp[i] = 0;
}

mbedtls_aes_init(&aes);
mbedtls_aes_setkey_enc(&aes, key, 128);
mbedtls_aes_crypt_cbc(&aes, MBEDTLS_AES_ENCRYPT, 16, iv, inp, out);
1693 次点击
所在节点    程序员
8 条回复
yangbonis
2020-09-16 01:19:23 +08:00
不该 decrypt 一下,比较一下吗
yangbonis
2020-09-16 01:35:33 +08:00
看了下手册,cbc 模式 iv 全零,ecb 模式不用 iv 。
kekeones
2020-09-16 12:51:45 +08:00
@yangbonis iv 全 0, 不能自定义,不能把
yangbonis
2020-09-16 18:51:19 +08:00
@kekeones cbc 链式加密,你就加密一块,用 iv 干嘛呢?手册写的很清楚
kekeones
2020-09-16 23:01:09 +08:00
@yangbonis 尝试全部 0,加密前和解密后也不一致。
yangbonis
2020-09-17 08:34:28 +08:00
@kekeones 加密前后怎能可能一样呢
yangbonis
2020-09-17 08:35:13 +08:00
@yangbonis 解密前再把 iv 初始化成全零
kekeones
2020-09-21 01:10:45 +08:00
@yangbonis 不确定啥问题,go 加密过来的解密不出来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/707353

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX