c++ - “ChaCha”尚未使用 Crypto++ 在此范围内声明?

标签 c++ encryption crypto++ stream-cipher

我正在尝试创建一个运行 ChaCha 加密的程序。但是,我一直遇到这个问题

testingchacha.cpp:38:5: error: ‘ChaCha’ has not been declared ChaCha::Encryption enc;

我试图改变代码

ChaCha::Encryption

ChaCha20::Encryption

但这样做给了我一长串错误。

我也尝试使用 Crypto++ 网站上的示例代码,但我遇到了关于“ChaCha”尚未声明的相同问题。

using namespace CryptoPP;
...

// Encryption object
ChaCha::Encryption enc;    
enc.SetKeyWithIV(key, key.size(), iv, iv.size());

为什么会出现编译错误?

最佳答案

您正在使用旧版本的库。

名称从 ChaCha20 更改为 ChaCha,参见提交 here .

您至少需要 8.1 版,另请参阅 this issue on github .

更新库,如果您在使用正确的名称时收到一长串错误,那么您可能应该询问一下。

关于c++ - “ChaCha”尚未使用 Crypto++ 在此范围内声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58740447/

相关文章:

c++ - 从 map vector 中删除元素

c++ - 具有指针数据类型的非类型函数模板参数

python - 如何解决UnicodeDecodeError : 'utf-8' codec can't decode byte 0xa1 in position 3: invalid start byte?

java读取加密对象

c++ - 多线程DLL中的Cryptopp,VS2010

c++ - C++ 中的指针比较是未定义或未指定的行为吗?

c - 非常基本的加密程序

c++ - Cryptopp.dll访问冲突读取位置0x74736554

c++ - 执行 AES 解密后字符串末尾的 Crypto++ 和垃圾

c++ - 如何编写一个好的程序来阻止不需要的/有害的网站