如题,CC2640R2F AES 128bit CBC 加密出来的数据和APP、服务器加密出来的数据不同。下面是我的实际代码,请问代码有什么问题?
uint8_t AES_encryptionByCBC(uint8_t *key, uint8_t *dataIn, uint8_t *dataOut) { // Declaration (typically done in a task) CryptoCC26XX_Handle handle; int32_t keyIndex; int32_t status; CryptoCC26XX_AESCBC_Transaction trans; // Initialize Crypto driver CryptoCC26XX_init(); // Attempt to open CryptoCC26XX. handle = CryptoCC26XX_open(CC2640R2_LAUNCHXL_CRYPTO0, false, NULL); if (!handle) { return FAILURE; } keyIndex = CryptoCC26XX_allocateKey(handle, CRYPTOCC26XX_KEY_ANY, (const uint32_t *) key); if (keyIndex == CRYPTOCC26XX_STATUS_ERROR) { return FAILURE; } // Initialize transaction CryptoCC26XX_Transac_init((CryptoCC26XX_Transaction *) &trans, CRYPTOCC26XX_OP_AES_CBC_ENCRYPT); // Setup transaction trans.keyIndex = keyIndex; // trans.nonce = key; trans.msgIn = (uint32_t *) dataIn; trans.msgOut = (uint32_t *) dataOut; trans.msgInLength = 16; // Encrypt status = CryptoCC26XX_transact(handle, (CryptoCC26XX_Transaction *) &trans); if(status != CRYPTOCC26XX_STATUS_SUCCESS){ return FAILURE; } CryptoCC26XX_releaseKey(handle, &keyIndex); //CryptoCC26XX_close(handle); return SUCCESS; }