- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将自定义 key 与 Crypto++ 结合使用。我的程序使用随 secret 钥,但当我尝试向 SecByteBlock
传递 key 时出现智能感知错误。
引用文献here将其定义为 SecBlock (const T *t, size_type len)
但我之前从未遇到过 const T。
void EncryptFile(string cEncryptionKey, string cFilePath, string cTempFilepath)
SecByteBlock key_aes(pEncryptionKey, AES::DEFAULT_KEYLENGTH);//giving error
//SecByteBlock key_aes(ES::DEFAULT_KEYLENGTH); // Generates a random key
最佳答案
A SecByteBlock
是 SecBlock< T, A >
的类型定义与 T = byte
.三个构造函数是:
SecBlock (size_type size=0)
SecBlock (const SecBlock< T, A > &t)
SecBlock (const T *t, size_type len)
没有您要使用的构造函数。这不存在:
SecByteBlock (const string& str, size_type size)
所以你只需要:
ASSERT(key.size() == AES::DEFAULT_KEYLENGTH);
SecByteBlock key_aes(reinterpret_cast<const byte*>(key.data()), key.size());
您可能需要执行 static_cast<size_t>(AES::DEFAULT_KEYLENGTH)
,但您通常不必这样做。如果你使用 -Wextra
, -Wsign-conversion
或 -Wconversion
,您可能必须这样做。
回到 10,000 英尺,您可能应该避免将 key 放在 string
中开始。
创建一个 SecByteBlock
有一个大小(上面的第一个构造函数),并直接读入它。然后,传递 SecByteBlock
引用EncryptFile
.
相关的,我们即将使用 -Wall
进行干净的编译。 , 所以你应该在你的项目中启用它。要使用更清洁的来源,您需要 checkout from SVN或 clone from Git .
关于c++ - SecByteBlock 不接受字符串作为自定义键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31348936/
我必须在一个数据包中发送一个随机生成的数字 (rng),因此,必须转换一个 SecByteBlock。我用 libcrafter将 rng 数组放入 RawLayer 数据包中。 我关注了this a
我正在尝试将自定义 key 与 Crypto++ 结合使用。我的程序使用随 secret 钥,但当我尝试向 SecByteBlock 传递 key 时出现智能感知错误。 引用文献here将其定义为 S
我在为 crypto++ 中的 3 key 三重 DES 分配新 key 时遇到问题。 我已经生成了一个字符串形式的新 key ,但需要将其分配给 SecByteBlock 以便在 Crypto++
我在尝试将 SecByteBlock 转换为字符串时遇到问题。这是我的案例: 我想使用带有静态 key 和动态 iv 的 AES 加密用户访问数据。我的代码是这样的: AesKeyIvFactory
我试图理解为什么使用 Crypto++ SecByteBlock 的以下代码有效: SecByteBlock block(10); std::cout << block[3]; 这就像 SecByte
我正在使用 Crypto++ 库: DH dh; AutoSeededRandomPool rnd; SecByteBlock priv(dh.PrivateKeyLength()); SecByte
我正在使用 Crypto++ 库在 CBC 模式下使用 AES 算法解密文件。我在 sample code 中遇到了 SecByteBlock 类AES 表示 The key is declared
我目前正在用 C++(使用 crypto++)编写河豚加密/解密程序。 我真的没有在谷歌上找到满意的答案。我正在尝试将 SecByteBlock 的 key 作为字符串发送,然后在另一部分作为字符串接
我目前正在从事 Cryptopp 加密项目,需要将 key 传递给 Blowfish 加密算法。 如果我理解正确,我需要编辑这两行: SecByteBlock key(Blowfish::DEFAUL
我目前正在用 C++(使用 crypto++)编写河豚加密/解密程序。 我真的没有在谷歌上找到满意的答案。我正在尝试将 SecByteBlock 的 key 作为字符串发送,然后在另一部分作为字符串接
我是一名优秀的程序员,十分优秀!