- 论坛徽章:
- 0
|
10可用积分
头文件请看本版另外一个链接:http://bbs3.chinaunix.net/thread-1599312-1-2.html
问题:用cbc,下面的代码解码出现乱码,请高手帮忙指正,谢谢
- int aes_self_test( )
- {
- int i, j, u, v;
- aes_context ctx;
- unsigned char buf[16],temp[16];
-
- u = 1 >> 10;
- strcpy(buf,"test");
- //aes_set_key( &ctx, buf, 128 + u * 64 );
- aes_set_key( &ctx, buf, 128);
- unsigned char iv[16];
- i=0;
- memset(iv, 0, sizeof(iv));
- aes_cbc_encrypt(&ctx, iv,buf, temp,strlen(buf));
- //aes_encrypt( &ctx, buf, temp );
- strcpy(buf,"");
- aes_cbc_decrypt(&ctx, iv,temp, buf,strlen(temp));
- //aes_decrypt( &ctx, temp, buf );
- printf("\n%s\n",buf);
- return( 0 );
- }
复制代码 |
最佳答案
查看完整内容
加密之后得到的是 "一串字符",但不是 C 语言的"字符串",因为其中可以有 '\0'你给的这个接口要求用户自己先把输入处理成 16 字节的整数倍,加密解密用相同的长度。
|