gpt4 book ai didi

javascript - Forge:加密大文件

转载 作者:太空宇宙 更新时间:2023-11-03 22:01:31 25 4
gpt4 key购买 nike

我使用forge framework用于某种 PGP 实现。所以我需要加密非常大的文件(2GB 或更大)并保持加密状态。我想使用尽可能小的 RAM 内存。

最好的方法是什么?

最佳答案

这是一个一般的设计问题——与 forge 没有太大关系。喜欢MDG也就是说,您需要使用流式传输来避免将整个文件和加密文件保留在内存中。

Forge 的密码对象(请参阅: AES )将允许您使用流中的数据 block 。您可以执行 cipher.update() 来加密流中任意大小的数据 block ,然后调用 cipher.output.getBytes() 清除内部缓冲区并获取任何加密的输出,然后您可以将其发送到某个地方。这应该可以保持较低的内存使用量。

请记住,从伪造缓冲区获取的字节将被编码为字符串。字符串编码类型是node.js 识别为“二进制”的类型。 (对于不支持 TypedArray 的浏览器来说,这是一种在 JS 字符串中对字节进行编码的方法,而在最初编写 forge 时许多浏览器还不支持 TypedArray)。如果您正在与 Node.js 服务器通信,则可以使用“二进制”编码将此字符串放入 Buffer 中。如果您正在与另一台服务器通信,您可能需要在传输之前对它们进行 Base64 编码。您可以使用 forge.util.encode64 来完成此操作。

您可能还想查看OpenPGP.js .

关于javascript - Forge:加密大文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22509062/

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