带有Javascript或节点js的Crypt.rar文件
大家好,我试着用Javascript加密(和解密)一个.rar文件,它可以用于文本,但也可以用于文件夹或zip文件(用于重文件) 我的代码如下:带有Javascript或节点js的Crypt.rar文件,javascript,node.js,encryption,Javascript,Node.js,Encryption,大家好,我试着用Javascript加密(和解密)一个.rar文件,它可以用于文本,但也可以用于文件夹或zip文件(用于重文件) 我的代码如下: const fileger = require("fileger") const file = new fileger.File("./fofo1.rar"); file.encrypt("your-password") // this will encrypt the file .
const fileger = require("fileger")
const file = new fileger.File("./fofo1.rar");
file.encrypt("your-password") // this will encrypt the file
.then(() => {
console.log("Encrypt Done")
})
file.decrypt("your-password") // this will decrypt the file
.then(()=>{
console.log("Decrypt Done ")
})
当我试图解密时,我有一个致命的错误
[12424:000001DD0893F130]15726毫秒:标记扫描2131.6(2165.3)->2131.6(2165.3)MB,598.5/0.0毫秒(平均mu=0.230,当前mu=0.000)分配失败清除可能无法成功
[12424:000001DD0893F130]16485毫秒:标记扫描2131.6(2165.3)->2131.6(2134.3)MB,759.2/0.0毫秒(平均mu=0.140,当前mu=0.000)请求的旧空间中的最后一个GC
==JS堆栈跟踪=========================================
0: ExitFrame [pc: 00007FF6C06FA09D]
安全上下文:0x02ad921408d1
1:加入[000002AD921555F9](此参数=0x03f10bad5b11,0x01a062c00731)
2:stringify[0000031F5275009B1][C:\Users\Mangoz'\Desktop\coode\crytoTest\node\u modules\crypto js\enc-base64.js:71][bytecode=0000017CD859A209 offset=332](此=0x031f5274f651,0x017cd85be0a1看起来您的加密函数正在将整个文件加载到内存中,并且您遇到了“内存不足错误”。尝试分块加密。我已将内存更新为:“node\uuu max\u old\u space\u size=4096”。现在返回“decrypt done”,但当我尝试打开.rar文件时出现错误:“标头已损坏”。有什么问题吗?fileger似乎只能加密(UTF8编码)文本文件。此外,CryptoJS在内部应用,没有文件流,使用内部(不推荐使用且不安全)密钥派生函数。密文是Base64编码的,因此放大了约33%。总之,对于任意二进制或大文件,可能需要应用另一个库,例如NodeJS的加密模块。这允许不同的流策略,例如使用管道,支持各种KDF,并且不限于文本文件。看起来像在你的加密函数将整个文件加载到内存时,你遇到了“内存不足错误”。尝试分块加密。我已经用“node\uuu max\u old\u space\u size=4096”更新了内存。现在返回“decrypt done”,但当我尝试打开.rar文件时出现错误:“头已损坏”。问题是什么?fileger似乎只能加密(UTF8编码)文本文件。此外,CryptoJS在内部应用,没有文件流,使用内部(不推荐使用且不安全)密钥派生函数。密文是Base64编码的,因此放大了约33%。总之,对于任意二进制或大文件,可能需要应用另一个库,例如NodeJS的加密模块。这允许不同的流策略,例如使用管道,支持各种KDF,并且不限于文本文件。