Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在nodejs中只加密整个文件的一部分(例如:仅前2500个字节)?_Node.js_Encryption_Cryptojs - Fatal编程技术网

Node.js 如何在nodejs中只加密整个文件的一部分(例如:仅前2500个字节)?

Node.js 如何在nodejs中只加密整个文件的一部分(例如:仅前2500个字节)?,node.js,encryption,cryptojs,Node.js,Encryption,Cryptojs,我正在开发一个节点应用程序,它使用加密技术对文件进行加密和解密。但现在我只想加密一个特定大小的文件。例如,我只想加密文件的前2500个字节,然后将缓冲区再次写入磁盘(前2500个字节已加密,其余为原样) 有什么想法吗?我不确定您是如何加密数据的,但这在这里并不重要 关键思想是只读取文件的前2500个字节,然后使用fs.createWriteStream的r+标志将这些字节写回(加密)。具体来说,fs.createWriteStream(文件,{start:0,标志:'r+})将从文件开头开始写入

我正在开发一个节点应用程序,它使用加密技术对文件进行加密和解密。但现在我只想加密一个特定大小的文件。例如,我只想加密文件的前2500个字节,然后将缓冲区再次写入磁盘(前2500个字节已加密,其余为原样)


有什么想法吗?

我不确定您是如何加密数据的,但这在这里并不重要


关键思想是只读取文件的前2500个字节,然后使用
fs.createWriteStream的
r+
标志将这些字节写回(加密)。具体来说,
fs.createWriteStream(文件,{start:0,标志:'r+})
将从文件开头开始写入。只需将2500个加密字节写入文件流,您就完成了。

您能澄清一下吗?您预期的最终结果是一个前2500字节加密,其余字节不变的文件吗?您好!没错!(同时编辑了问题)将问题分割成更小的问题,并逐一解决。是否有必要知道您是否正在加密前2500个字节?您是否存在通过读取和写入字节而不是使用现有API来复制文件的问题?您对实际的加密步骤有困难吗,或者您已经找到了答案?如果你计划在适当的地方做这件事,那么事情会变得非常复杂。我完全同意你的看法。我正计划就地执行,现在它变得非常复杂,因为加密数据比原始数据大一点,所以当我尝试将其写回文件时,它会覆盖其他数据。这正是我所需要的!我接受了答案。谢谢你,伙计!!只是一个快速更新,我有问题写回文件流。这是因为加密字节比原始字节长得多。我目前正在使用aes128。所以现在我正在寻找一个解决方案,如何在不覆盖其他数据的情况下写回它。我使用了createWriteStream,但它基本上覆盖了其他数据。是的,这肯定是个问题。你需要某种加密方法,输出与输入相同的长度。嗨,马特!更新已解决了长度问题。我在算法(aes128/256)上使用了CTR模式。谢谢你的帮助!