кодировка значений типа int алгоритмом AES128
Здравствуйте,
я недавно начал работать с Вашими ключами и у меня такой вопрос: стандартная структура из примера :
в уроках по программированию ключей с помощью алгоритма AES128 (урок 3.2) представлен момент когда мы кодируем char символ.
А как я могу закодировать полученное с клавиатуры (или откуда-то еще) значение типа int?
Кстати, там, в примере, один момент: мы кодируем не то что получили с клавиатуры, а другой массив со значением полученным с клавиатуры и вставленным в середину защищаемых данных:
szMessage[MESSAGE_SIZE / 2] = *q.begin();
// Устанавливаем значение вектора инициализации
memset(pIV, 0, GrdARS_AES128);
time((time_t*)pIV);
if(pIV[0] % 2)
{
pIV[0]--;
}
// Шифруем массив при помощи алгоритма AES128 в режиме OFB
nRet = GrdDongle.CryptEx(0x0002, sizeof(szMessage), szMessage,
GrdAM_OFB | GrdAM_Encode, sizeof(pIV), pIV);
if (nRet)
{
cout << "GrdCryptEx() encode faild!";
}
но когда я пытаюсь получить этот же расшифрованный и вытянуть из него то что мы вставили в середину массива
nRet = GrdDongle.CryptEx(0x0002, sizeof(szMessage), szMessage,
GrdAM_OFB | GrdAM_Decode, sizeof(pIV), pIV);
if (nRet)
{
cout << "GrdCryptEx() decode failed!" << endl;
}
else
{
*q.begin() = szMessage[MESSAGE_SIZE/2];
.......
я не всегда получаю то что мы приняли с клавиатуры, как с этим бороться?