我有一个节点js app,其中iam使用加密节点模块加密json数据密钥值 我有一个加密的功能,当我将键值传递给该功能时,我可以加密该值 如果json是一个简单的json对象,我的代码工作正常。但是如果json是复杂的,例如,我们将在一个键值中有一个json,我们需要迭代循环,因为我的代码不起作用。登记/> 不知道如何迭代循环并将json密钥值传递给加密函数 有人可以在这个问题上帮助我。
我的git网址:https://github.com/harishvarma8055/encryptdecryptapp
var crypto = require('crypto'),
algorithm = 'aes-256-ctr',
password = 'd6F3Efeq';
function encrypt(text) {
var cipher = crypto.createCipher(algorithm, password);
var crypted = cipher.update(text, 'utf8', 'hex');
crypted += cipher.final('hex');
console.log("crypted:" + crypted);
return crypted;
}
function decrypt(text) {
var decipher = crypto.createDecipher(algorithm, password);
var dec = decipher.update(text, 'hex', 'utf8');
dec += decipher.final('utf8');
return dec;
}
app.post('/encryptdata', function (req, res) {
var JsonData = JSON.parse(req.body.jsondata);
var enc = null;
for (var exKey in JsonData) {
var encryptData = encrypt(JsonData[exKey]);
if (enc != null)
enc = enc + "," + '"' + exKey + '"' + ":" + '"' + encryptData + '"';
else
enc = "{" + '"' + exKey + '"' + ":" + '"' + encryptData + '"';
var dec = decrypt(encryptData);
var dc = dc + exKey + ":" + dec;
}
enc = enc + "}";
console.log(dc);
res.send(enc);
});