gpt4 book ai didi

c++ - 解密部分 AES 加密文件

转载 作者:行者123 更新时间:2023-11-30 03:45:11 25 4
gpt4 key购买 nike

对于我的 C++ 应用程序,我查看了 Crypto++。似乎很简单,可以加密一些内容并将其保存在文件中。解密整个文件似乎也很简单。但是,我们的要求是我们不能一次解密整个文件。我需要根据调用者的要求即时解密部分文件。本质上,我需要实现以下伪方法:

  int openFile(const char* aesFile); // returns a handle
long read(int handle, long pos, int size, byte* buffer);

我怎样才能做到这一点? Crypto++ 或其他一些库中是否有现成的东西可以做到这一点?问候。

最佳答案

How can I achieve this? Is there something in Crypto++ ...

我认为您需要两件事。首先,您需要一个seekable 密码操作模式。 Counter mode (CTR)可能会为此工作。您可以使用 IsRandomAccess() 检查密码是否可搜索.它继承自 StreamTransfoormation Class .

在计数器模式(和其他可搜索模式)中,请小心确保您仍然有真实性保证。这可能很棘手。另见 Authenticated EncryptionCrypto++ wiki 上.

其次,您可能需要避免流接口(interface),并且需要使用PutGetPutGet 只是类 C类函数存在于每个 Crypto++ BufferedTransformation 类中。

PutGet 的大多数示例> 相当琐碎。然而,一个更重要的最近出现在 Crypto++ wiki 上。在 Init-Update-Final .虽然它更丰富,但并不因为它是一个简单的概念而变得更复杂。


... or some other library that is readily available to do this?

好吧,这是您必须做出的选择。如果 C++ 和安全库是您唯一的库要求,那么您还可以查看 Jack Lloyd's Botan .

关于c++ - 解密部分 AES 加密文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34991975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com