Javascript 在节点js中加速AES解密

Javascript 在节点js中加速AES解密,javascript,express,aes,node-crypto,Javascript,Express,Aes,Node Crypto,我想创建一个网页,上面会显示以前在服务器上解密的数据。在app.js中的服务器上,读取并解密一个文件夹中的所有数据 var http = require('http'); var path = require('path'); var express = require('express'); var fs = require('fs'); var app = express(); var CryptoJS = require("crypto-js"); app.set('view engine

我想创建一个网页,上面会显示以前在服务器上解密的数据。在app.js中的服务器上,读取并解密一个文件夹中的所有数据

var http = require('http');
var path = require('path');
var express = require('express');
var fs = require('fs');
var app = express();
var CryptoJS = require("crypto-js");
app.set('view engine', 'ejs');

var bytes = [];

var markers = fs.readdirSync("views/images");

for (var i = 0; i < markers.length ; ++i) {
bytes[i] = fs.readFileSync("views/images/" + 
markers[i]).toString('utf8');
};
var http=require('http');
var path=require('path');
var express=需要(“express”);
var fs=需要('fs');
var-app=express();
var CryptoJS=require(“CryptoJS”);
应用程序集(“查看引擎”、“ejs”);
var字节=[];
var markers=fs.readdirSync(“视图/图像”);
对于(变量i=0;i
然后数据被解密并发送到页面

app.get('/index', function(req, res) {
app.use(express.static(__dirname + '/views'));
try{
      for (var i = 0; i < markers.length ; ++i) {
      bytes[i] = CryptoJS.AES.decrypt(markers[i],Rf3hgf93).toString(CryptoJS.enc.Utf8);                       
       };
      res.render('index',{bytes:bytes});

      }catch (err){
         res.render('index',{bytes:''});
         console.log("error");
      };

  });
app.get('/index',函数(req,res){
app.use(express.static(u dirname+'/views');
试一试{
对于(变量i=0;i
问题是,解密所有这些文件并发送到客户端大约需要30秒。大约有35个解密的txt文件(每个大约5mb)。我知道NodeJS是单线程的,没有并发性。那么,如何加快解密过程呢?我是否应该使用Java/Python而不是node js,因为多线程和并发性,Java是最适合这个过程的语言。

是一个纯JavaScript AES实现。它既可以在浏览器中运行,也可以在NodeJs中运行


对于纯NodeJs应用程序,请使用内置API,该API是本机的,因此速度要快得多。

如果文件相同,并且从不更改或通过添加新文件来更改,则缓存机制会有所帮助。然后可以尝试生成另一个进程来解密文件并与父进程通信,例如通过文件锁定机制My 2 cents