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

How do you encrypt only a part of a whole file (example: first 2500 bytes only) in nodejs?

我正在开发一个使用加密技术加密和解密文件的节点应用程序。但是现在我正试图只加密一个特定大小的文件。比如我只想加密一个文件的前2500字节,然后再把buffer写入磁盘(前2500字节加密,其余原样)

有什么想法吗?

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

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