Я пытаюсь зашифровать с помощью AES, используя aes.h
У меня проблемы с назначением предыдущего сгенерированного ключа шифрования.
const static unsigned char aes_key[]={(unsigned char*)strKey};
Я получил следующую ошибку: error: invalid conversion from ‘char*’ to ‘unsigned char’ [-fpermissive]
const static unsigned char aes_key[]={(unsigned char*)strKey};
#include <openssl/aes.h>
#define KEYSIZE 16
int main()
{
char key[KEYSIZE];
char strKey[(KEYSIZE*2)+1]={0};
for (int i = 0; i< KEYSIZE; i ++){
key[i] = (unsigned char) rand()%256;
printf("%.2x\n", (unsigned char)key[i]);
sprintf(&strKey[i*2], "%.2x", (unsigned char) key[i]);
}
printf("\n");
printf( "%s\n", strKey);
const static unsigned char aes_key[]={(unsigned char*)strKey};
/* AES-128 bit CBC Encryption */
AES_KEY enc_key;
AES_set_encrypt_key(aes_key, sizeof(aes_key)*8, &enc_key);
AES_cbc_encrypt(aes_input, enc_out, sizeof(aes_input), &enc_key, iv, AES_ENCRYPT);
return 0;
}