迭代复杂的json数据键值并传递给节点js中的函数

时间:2016-08-20 13:59:22

标签: javascript node.js

我有一个节点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);
 });

0 个答案:

没有答案