如何在Node JS中加密流

时间:2020-07-20 11:23:49

标签: node.js encryption node-streams nodejs-stream node-crypto

如何在节点js中加密和解密流,而不在本地保存文件或将其转换为缓冲区。 如果没有办法,那么请提供高效的内存和较少的存储消耗方式来加密和解密节点js中的流,以便我可以直接通过api将流上传到google驱动器。

1 个答案:

答案 0 :(得分:0)

最后,我得到了这个问题的解决方案。我在这里为所有需要此答案的人发布答案
我正在使用一个名为aes-encrypt-stream的图书馆
或者您也可以使用crpto库或任何其他库。 在这里

使用stream.PassThrough
这里 file.stream 是我的输入流
是我的输出流
通过此代码,我可以减少用于加密的服务器的内存消耗

const { createEncryptStream, createDecryptStream, setPassword } = require('aes-encrypt-stream');
setPassword(Buffer.from('your key here', 'hex'));
PassThroughStream = require('stream').PassThrough,
stream = new PassThroughStream();
await createEncryptStream(file.stream).pipe(stream);

现在流已加密