int mbedtls_aes_setkey_enc(
mbedtls_aes_context* ctx,
const unsigned char* key,
unsigned int keyLength
)
设置加密
的key
mbedtls_aes_context* ctx
必须调用mbedtls_aes_init(&ctx)
进行初始化。
const unsigned char* key
是用于加密的密钥
。
unsigned int keyLength
是const unsigned char* key
的长度,单位是bit
。 该值只能是128
、192
、256
这3
个之一。
0
表示成功。
MBEDTLS_ERR_AES_INVALID_KEY_LENGTH
表示传入的keyLength
不符合要求。
#include <stdio.h>
#include <string.h>
#include "aes.h"
int main() {
const char* key = "abcdefghijklmnop";
size_t keyLength = strlen(key);
mbedtls_aes_context aes;
if (1 == mbedtls_aes_init(&aes)) {
perror("init failed.");
return 1;
}
int resultCode = mbedtls_aes_setkey_enc(&aes, (unsigned char*)key, keyLength<< 3);
if (0 == resultCode) {
printf("success\n");
} else {
printf("error\n");
}
return 0;
}