小编Pau*_*raz的帖子

如何将 SecByteBlock 转换为字符串?

我在尝试转换SecByteBlock为字符串时遇到问题。这是我的情况:

我想使用带有静态密钥和动态 iv 的 AES 加密用户访问数据。我的代码是这样的:

AesKeyIvFactory aesKeyIvFactory;
SecByteBlock key = aesKeyIvFactory.loadKey();
SecByteBlock iv = aesKeyIvFactory.createIv();

encryptionService->encode(&userAccess, key, iv);
std::string token = std::string(iv.begin(), iv.end()) + userAccess;
Run Code Online (Sandbox Code Playgroud)

上面的代码应该是:

  1. 从文件加载密钥;

  2. 创建四;

  3. 加密(AES)用户访问数据;

  4. 将iv与加密的用户数据访问连接起来,创建一个“令牌”;

多次运行测试,有时(1 到 10 次)std::string(iv.begin(), iv.end())无法正常工作。iv 中似乎有一个“换行符”,导致转换失败。

我尝试了很多东西,但没有任何效果,而且我没有使用 C++ 的经验。

我希望有人可以帮助我。

c++ security aes crypto++

4
推荐指数
1
解决办法
3566
查看次数

标签 统计

aes ×1

c++ ×1

crypto++ ×1

security ×1