Estoy escribiendo una aplicación electrónica que se puede usar para hacer una copia de seguridad de los datos en IPFS. Parece que funciona bien si no encripto el archivo, pero la línea donde se declara encryptedZipFile
está causando un error. Pensé que podría ser la longitud de la clave de encriptación, así que la reduje para acortarla, pero sigue sin funcionar. Cualquier ayuda sería muy apreciada.
const encrypt = (dir) => { console.log(`Encrypting ${dir}`); const destinationDir = `./aes-${dir.substring(2, dir.length)}`; return new Promise((resolve, reject) => { let zipFile = ''; const compressedDirReadStream = fs.createReadStream(dir, { encoding: 'base64' }); compressedDirReadStream.on('data', (chunk) => zipFile += chunk); compressedDirReadStream.on('end', () => { console.log('end', zipFile.substring(0, 50)); const encryptionKey = CryptoJS.MD5(apiKey).toString(); const encryptedZipFile = CryptoJS.AES.encrypt(String(zipFile), encryptionKey).toString(); const outputStream = fs.createWriteStream(destinationDir); outputStream.write(encryptedZipFile, 'base64'); outputStream.on('error', (err) => reject(err)); outputStream.on('close', () => resolve(destinationDir)); }); compressedDirReadStream.on('error', (err) => { console.error(err); reject(err); }); }); };
Error de la consola:
[1] # [1] # Fatal error in , line 0 [1] # Fatal JavaScript invalid size error 75209227 [1] # [1] # [1] # [1] #FailureMessage Object: 000000F6051FCAF0 [1] 1: 00007FF71C3AFAED node_api_get_module_file_name+18013 [1] 2: 00007FF71F65F22E GetMainTargetServices+1884958 [1] 3: 00007FF71A3EA7AE v8::Extension::set_auto_enable+2094 [1] 4: 00007FF71ADFCB46 cppgc::DefaultPlatform::MonotonicallyIncreasingTime+513126 [1] 5: 00007FF71E7B3CDB v8::Platform::SystemClockTimeMillis+209963 [1] 6: 00007FF71AE72C5B v8::internal::OSROptimizedCodeCache::GetBytecodeOffsetsFromSFI+162635 [1] 7: 00007FF69FECD67C [1] [7148:0507/132020.334:ERROR:crashpad_client_win.cc(814)] not connected [1] [electronmon] app exited with code 4294930435, waiting for change to restart it