那里几乎没有关于加密++的菜鸟指南。或者无论如何我都没有找到。我想要做的是解密我用另一个 AES 加密器生成的 uchars 数组。我从哪里开始?我已经建立了图书馆并链接了盛大的图书馆。我是否需要设置任何东西,或者我只是在我的数组上调用一个函数(如果需要,是什么函数)?
我真的很想从知道这些东西的人那里得到一些帮助。
谢谢
那里几乎没有关于加密++的菜鸟指南。或者无论如何我都没有找到。我想要做的是解密我用另一个 AES 加密器生成的 uchars 数组。我从哪里开始?我已经建立了图书馆并链接了盛大的图书馆。我是否需要设置任何东西,或者我只是在我的数组上调用一个函数(如果需要,是什么函数)?
我真的很想从知道这些东西的人那里得到一些帮助。
谢谢
我不会说我对此“了解太多”,但这里有一些测试代码我放在一起用 AES 加密/解密字符串。扩展它以使用其他一些数据应该不会太难。
string output;
CTR_Mode<AES>::Encryption encrypt((const byte*)key,AES::DEFAULT_KEYLENGTH,(const byte*)iv);
StringSource(plaintext, true, new StreamTransformationFilter(encrypt, new StringSink(output)));
cout << "Encrypted: " << output << endl;
string res;
CTR_Mode<AES>::Decryption decrypt((const byte*)key,AES::DEFAULT_KEYLENGTH,(const byte*)iv);
StringSource(output, true, new StreamTransformationFilter(decrypt, new StringSink(res)));
cout << "Decrypted: " << res << endl;
在处理这个问题时,我发现 Crypto++ 测试程序(名为“cryptest”的 VisualStudio 项目)中的源代码有很大帮助。一开始读起来有点难,但随着你的使用它会变得更容易。我还从维基百科 ( http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation )中获得了很多帮助来理解可用的分组密码模式。
以下是来自 Google 搜索的一些资源: