Быстрый, но безопасный способ шифрования строк в nodejs? - PullRequest
0 голосов
/ 26 сентября 2019

Я тестировал производительность шифрования / дешифрования 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...