Я работаю над AES-128/192/256, в основном я получаю данные от брокера в виде строки, мне просто нужно зашифровать эти данные, и мне нужно это проверить.
Я уже сталкивался с этими https://github.com/empyreanx/tiny-AES128-C, https://github.com/kokke/tiny-AES-c ссылками.
Мой код:
static void test_encrypt_cbc(void)
{
unsigned char input[] =
"So_letmeknowRuinterested/towork@thiscompany.comElsewilllookother";
//64bits
unsigned char cipher[sizeof input];
printf("size of in:%lu\n",strlen(input));
unsigned char key[] = "Gns7AauH3dnaod=="; //16 bits
unsigned char iv[] = "vhdNaleuTHenaOlL"; //16 bits
AES128_CBC_encrypt_buffer(cipher, input, 64, key, iv);
if(0 == memcmp((char*) cipher, (char*) input, 64))
{
printf("SUCCESS!\n");
}
else
{
printf("FAILURE!\n");
}
}
Я также печатал зашифрованный текст, после шифрования он печатает какой-то неопределенный символ.
Я не знаю, но я сравниваю "шифр" с "вводом", и, наконец, его СБОЙ!
Пожалуйста, кто-нибудь может сказать мне, где я делаю неправильно.
Заранее спасибо.