Получите значения в виде массива 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);
}
}