Я тестировал производительность шифрования / дешифрования nodejs (ну, в частности, крипто), чтобы реализовать его в моем проекте.После небольшого количества правок я подумал, что достиг приличной скорости, но затем я поговорил с другом и провел некоторое исследование, а теперь хочу узнать, есть ли способы сделать это более эффективно
Iпереместил require("crypto")
за пределы функции, чтобы он запускался только один раз, попытался сохранить шифр и дешифровку в переменной (которая не работала), поиск более эффективных способов шифрования / дешифрования и т. д., но не смог добиться гораздо большей производительности
var crypt = require('crypto')
function encrypt(text,password){
var text1=String(text)
var cipher = crypt.createCipher('aes-128-cbc',password)
var crypted = cipher.update(text1,'utf8','hex')
crypted += cipher.final('hex');
return crypted;
}
function decrypt(text,password){
var text1=String(text)
var decipher = crypt.createDecipher('aes-128-cbc',password)
var dec = decipher.update(text1,'hex','utf8')
dec += decipher.final('utf8');
return dec;
}
function generatepass(length) {
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < length; i++){
text += possible.charAt(Math.floor(Math.random() * possible.length))
}
text=text.toString()
return text;
}
var text=generatepass(50)
var pass=generatepass(50)
aa=performance.now()
for(var i=0;i<1000;i++){
decrypt(encrypt(text,pass),pass)
}
console.log((performance.now()-aa)/1000) //around 0.05ms on my end