只加密json密钥值,并获得整个json对象的响应与密钥值加密
Encrypt only json key value and get response of whole json object with keyvalue encrypted
我试图使用nodejs应用程序加密json对象的密钥值。我使用加密节点模块。我会传递json对象(它可以是基本的或复杂的,即。,在一个值里面,我们可以再次有键值对)然后作为响应,我们应该得到相同的json格式,我们最初给出,但键值应该被加密。在我的代码中,我有一个加密函数,它将加密数据。在这里,我应该只将键值传递给函数,我可以这样做并获得加密的数据。我使用每个即(var exKey在JsonData)和传递每个键值的功能。并再次使用此代码将其帧回json格式。
var JsonData=JSON.parse(req.headers.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;
}
enc=enc+"}";
如果我们使用的是基本json,这是可以的。但是如果我们用复数(例如。这将不工作,因为我们需要看看我们是否有这样的迭代函数。所以我修改了代码。
function iterate(JsonData)
{
for(var exKey in JsonData) {
if (JsonData.hasOwnProperty(exKey)) {
if(typeof JsonData[exKey]=="object"){
console.log('"'+exKey+'"'+":"+"{");
iterate(JsonData[exKey]);
}
else
{
var encrypted=encrypt(JsonData[exKey]);
console.log('"'+exKey+'"'+":"+ '"'+encrypted+'"');
}
}
}
function encrypt(text){
var cipher = crypto.createCipher(algorithm,password);
var crypted = cipher.update(text,'utf8','hex');
crypted +=cipher.final('hex');
return crypted;
}
现在使用函数我可以迭代循环并加密键值,然后我通过添加",:,{"来安慰键和值。例如,如果我传递json为:
{"brokerLimit":"50"、"traderType":{"保险公司":"约翰","覆盖":"基本"},"isSplitPayment":"是"}然后在控制台上我将得到
"brokerLimit":"51" traderType ": {"保险公司":"0 e81dc9e"覆盖":"068 fc79922"isSplitPayment":"1 d8bc7"
所以我可以进入循环并加密密钥值。现在我想要的是json格式的响应,也就是
{"brokerLimit":"51"、"traderType":{"保险公司":"0 e81dc9e","覆盖":"068 fc79922"},"isSplitPayment":"1 d8bc7"}
所以我需要将加密的密钥值存储在变量中,还需要添加",:,}以使其成为json格式。我现在面临的问题是。如果键在json中具有属性,则键值返回函数。那时,我认为我们需要保存临时变量,然后我们需要添加到另一个全局变量,然后继续添加到全局变量…但是我无法修复逻辑,有人能帮我吗,希望我的问题是清楚的。如果不回复我。
最简单的方法可能是使用加密数据创建一个新对象,然后使用JSON.stringify(obj)
生成JSON字符串。
- 加载两个具有相同父密钥名称的json文件
- D3动态json密钥名称
- 根据用户选择获取 JSON 密钥
- 从包含密钥路径的字符串中获取json值
- 如何在javascript中获取数组密钥对的json子值
- node.js JSON.parse reviver没有't报告重复的密钥
- 仅使用该值检索 JSON 密钥
- 当我不知道密钥的名称时,如何读取 JSON 对象
- 使用给定的URL和密钥将JSON对象提取到jQuery ajax中
- 动态创建 json 密钥
- 循环访问没有数组的 JSON 密钥对象
- 杰克逊 JSON 处理密钥名称 = ognl 名称
- 获取密钥 Json 并使用名称 var 进行搜索
- 是用 JSON 保留的 tid 密钥
- 访问 JSON 中的嵌套对象(密钥对/MYSQL 数组)
- 在模型同步时发送带有 json 的 API 密钥
- 如何在 json 密钥中访问 Json 密钥
- 基于 json 密钥值的特定车把模板
- JSON 数据加密/解密或密钥值对
- 使用正则表达式转换 JSON 密钥值