Как зашифровать и расшифровать с RC6, используя Crypto++
Я хочу зашифровать и расшифровать строки с помощью RC6, но я не понимаю, как это работает с библиотекой Crypto++. Не могли бы вы дать мне фрагмент?
Спасибо вам!
1 ответ
Вот фрагмент кода с веб-сайта Crypto ++, демонстрирующий, как использовать библиотеку для шифрования строки с использованием AES (где, как указывал jww, "RC6 является одним из кандидатов AES", и этот фрагмент должен использоваться в качестве отправной точки для RC6). также):
byte key[AES::DEFAULT_KEYLENGTH], iv[AES::BLOCKSIZE];
string plainText;
// ... populate key, iv, plainText here
string cipher;
StringSink* sink = new StringSink(cipher);
Base64Encoder* base64_enc = new Base64Encoder(sink);
CBC_Mode<AES>::Encryption aes(key, sizeof(key), iv);
StreamTransformationFilter* aes_enc = new StreamTransformationFilter(aes, base64_enc);
StringSource source(plainText, true, aes_enc);
Я нашел эту информацию, когда искал в Интернете пример кода для библиотеки Crypto ++. Правда, мне было не так просто найти, как я ожидал.
Связанная боковая панель в Stackru указывает на другие страницы, которые, как я полагаю, также могут помочь, такие как Q & A для байтового массива Encrypt/Decrypt Crypto ++.
Обновление: Обновление только что появилось сегодня (26 марта 2017 г.) на веб-странице RC6 на вики-сайте Crypto ++. Там есть специальный код для RC6, который выглядит именно так, как вам нужно.