器件型号:CC3220
您好!
我使用的是代码的加密和解密方法。
我正在使用 CBC 模式。
我的钥匙和静脉是
char PIV [17]="abcdefghijkll12\0";
uint8_t key[17]="abcdefghijklmn12\0";
我的代码如下所示
void mainThread (void * arg0)
{
CryptoCC32XX_handle cryptoHandle;
CryptoCC32XX_EncryptParams 参数;
CryptoCC32XX_init();
char * data =(char *) calloc (100、1);
strcpy (data、"12345678901234567890123456789012345678901234567890890\0");
UART_PRINT ("\r\n%d\r\n"、strlen (data));
params.AES.PIV =(void *)&PIV [0];
params.AES.keysize = CryptoCC32XX_AES_KEY_SIZE_128位;
params.AES.pkey =(void *)&key[0];//"abcdefghijklmnpq\0";//"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
unsigned int cip_len = strlen (data);
unsigned int plain_len = cip_len;
unsigned char * plain =(unsigned char *) calloc (cip_len+1、1);
CryptoHandle = CryptoCC32XX_open (Board_CRYPTO0、CryptoCC32XX_AES);
如果(!cryptoHandle){
UART_PRINT ("fail1");
//System_printf ("CryptoCC32XX 未打开");
}
int ret = CryptoCC32XX_encrypt (cryptoHandle、CryptoCC32XX_AES_CBC、data、(size_t) cip_len、plain、 Plain_len、¶ms);
if (ret!= CryptoCC32XX_STATUS_SUCCESS)
{
UART_PRINT ("fail2");
//System_abort ("解密失败\n");
}
unsigned int plain_len1 = cip_len;
unsigned char * plain1 =(unsigned char *) calloc (cip_len+1、1);
RET = CryptoCC32XX_decrypt (cryptoHandle、CryptoCC32XX_AES_CBC、plain、(size_t) plain_len、plain 1、 Plain_len1、¶ms);
if (ret!= CryptoCC32XX_STATUS_SUCCESS)
{
UART_PRINT ("fail3");
//System_abort ("解密失败\n");
}
UART_PRINT ("\r\nop is %s\r\n"、plain1);
CryptoCC32XX_Close (cryptoHandle);
}
我 û7890123456789012ù›xFˆ 加密和解密后的结果为“12345678901234567890123456789012345678901234567890”,但接收字符串为“——¯µo3ûÿŠ Ω Võ ΩΩ$”
有人能告诉我问题是什么吗?