delphi - 如何在不使用外部 DLL 或运行时的情况下压缩和加密大文件?

标签 delphi encryption compression components

我正在寻找一个组件或其他技术来将多个大文件(大小超过 4GB 的文件,因此不适合 win32 进程的可用内存)压缩和加密为单个文件。我希望加密非常强大(256 位 AES 或更好),但压缩对我来说并不重要。

现在,我正在使用 TJvZlibMultiple创建自己的非 Zip 文件格式的组件,但我必须创建存档,然后在单独的步骤中对其进行加密(我现在正在使用 DcpCrypt)。我想使用流在一次传递中执行相同的操作,而不使用等于文件大小的内存(因此,压缩和加密应该在流中进行,而不是在内存中进行)。

我见过但不想使用任何需要外部 DLL(例如 7zip dll)的东西。商业工具或者任何代码或示例 Delphi 源代码都可以,但我正在寻找 Delphi 中的彻底实现,而不是导入和调用 dll 中的函数的东西。

最佳答案

看看DIZipWriter .

支持 256 位 AES、流式传输和压缩。

更新: 版本 5 声称支持大型(64 位)条目,DIZipWriter History

关于delphi - 如何在不使用外部 DLL 或运行时的情况下压缩和加密大文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11678228/

相关文章:

c# - 有没有办法加密 Windows 窗体应用程序的配置文件?

c - 如何一次读取 14 位二进制文​​件而不是 8 位?

c++ - 有比 JPEG 更快的有损压缩吗?

arrays - 如何在没有 ShareMem 单元的情况下将动态字符串数组传递给 dll 库(dll 和用 d7 编写的客户端)?

delphi - SW-设计 : Adapters for Class Hierarchy in Delphi (Generics vs. 沮丧)

java - 客户端已知的客户端-服务器应用程序的加密和身份验证

Java AES 加密(工作)和 Python 解密(不工作)

compression - 为什么 hadoop 不能拆分大文本文件然后使用 gzip 压缩拆分?

json - 如何正确地将非字符串值添加到 TJSONObject?

delphi - 在模态表单关闭之前获取数据