我想创建一个网页,在该网页上可以显示以前在服务器上解密过的数据。在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');
};
超过数据解密并发送到页面
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");
};
});
问题是,解密所有这些文件并将其发送到客户端大约需要30秒。大约有35个解密的txt文件(每个文件约5mb)。我知道节点js是单线程的,并且没有并发性。那么,如何加快解密过程呢?我应该使用Java / Python来代替node js,就我而言,由于多线程和并发性,java是最适合此过程的语言。