gpt4 book ai didi

c - 文件的openssl aes256加密

转载 作者:太空狗 更新时间:2023-10-29 14:53:33 26 4
gpt4 key购买 nike

我想使用带有 C 的 OpenSSL 使用 aes256 加密文件。我确实找到了一个很好的例子 here .

我应该先将整个文件读入内存缓冲区而不是 aes256,还是应该使用 ~16K 缓冲区部分读取?

有任何片段或提示吗?

最佳答案

将整个文件加载到缓冲区中对于较大的文件可能会变得低效甚至不可能 - 仅当所有文件都低于某个大小限制时才这样做。

OpenSSL 的 EVP API(也被 the example you linked 使用)有一个 EVP_EncryptUpdate 函数,可以调用多次,每次提供更多字节进行加密。在循环中使用它,将明文从文件读入缓冲区,然后将密文写出到另一个文件(或同一个文件)。 (类似于解密。)

当然,与其发明一种新的文件格式(您在这里有效地这样做),不如考虑实现 OpenPGP 消息格式 (RFC 4880)。犯下可能会破坏您的安全性的错误的机会更少 - 作为一个额外的好处,如果您的程序因某种原因停止工作,您的用户始终可以使用标准工具(PGP 或 GnuPG)来解密文件。

关于c - 文件的openssl aes256加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7812284/

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