node.js JSON Array, функция Promise - PullRequest
0 голосов
/ 29 апреля 2020

Получите значения в виде массива JSON, примените функцию "AES256decrypt" и попытайтесь сохранить декодированные значения обратно в массив JSON. Но значения json обычно не сохраняются. Я не уверен, в чем проблема. Можете ли вы справиться с этим в рамках функции обещания? Или вы можете извлечь сохраненное значение из функции обещания?

Пример данных

[
  {
   "admin": Crytovalue1,
   "email": Crytovalue2,
   "name": Crytovalue3,
  },
  {
   "admin": Crytovalue4,
   "email": Crytovalue5,
   "name": Crytovalue6,
  }
]

Каков наилучший способ расшифровки всех значений в приведенном выше JSON и поддержания JSON структура.

 // my decrypt function
 var AES256decrypt = function (KeyValue) {
        return new Promise(function (resolve, reject) {
            var decrypt = ((encrypted) => {
                let decipher = crypto.createDecipheriv('aes-256-cbc', ENC_KEY, IV);
                let decrypted = decipher.update(encrypted, 'base64', 'utf8');

                return (decrypted + decipher.final('utf8'));
            });

            resolve(decrypt(KeyValue));
        });
    }

// my current attempt
if (rows) {
    var userinfoArray = new Array();

    for (var i = 0; i < rows.rows.length; i++) {
        Promise.all([AES256decrypt(rows.rows[i].admin), AES256decrypt(rows.rows[i].email), AES256decrypt(rows.rows[i].name)])
            .then(([adminDecrypt, emailDecrypt, nameDecrypt]) => {
                var userinfo = new Object();

                userinfo.admin = adminDecrypt;
                userinfo.email = emailDecrypt;
                userinfo.name = nameDecrypt;

                userinfoArray.push(userinfo);
            }).catch(callback);

        socket.emit('UserDataOK', userinfoArray);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...