暗号化ノードモジュールを使用してnodejs app.Iamを使用してjsonオブジェクトのキー値のみを暗号化しようとしている。jsonオブジェクトを渡す。複雑なやり方で、値の中に再びキー値のペアを持つことができます)、レスポンスとして最初は同じ形式のjsonを取得する必要がありますが、キー値をenctypedする必要があります。 私のコードでは、data.Hereを暗号化する暗号化機能を持っています。ここでは、iamが行うことができる関数にkeyvalueを渡し、暗号化されたdata.Iamを取得することができます(つまり、JsonDataのvar exKey)各キー値を関数に渡します。そして、このコードを使用して再びjson形式に戻します。jsonキー値のみを暗号化し、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.Butを使用している場合(例えば、キー値他のキーと値のペアの内側に)これは、我々は、このようなおよび反復を持っているかどうかを確認する必要があるので、これは動作しません罰金です私はコードを変更しました。次に、ループを反復し、キー値を暗号化するために、私ができる関数を使用した後、「追加することによって、キーと値を慰めIAM
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を通過していた場合:
コンソールでは、私は得るでしょう
{0} {0} {0} {0} {0} {0} {0} {0} {0} {0} {0} {0}"brokerLimit": "51de" "traderType":{ "保険会社": "0e81dc9e" "コーブR「:」068fc79922" 『isSplitPayment』: 『ループの内側に移動して、キー値を暗号化するので、IAMのができ1d8bc7』
... しかし、今の事は、私はJSON形式で応答としてこれを取得したいです
すなわち{ "brokerLimit": "51de"、 "traderType": { "保険": "0e81dc9e"、 "表紙": "068fc79922は"}、 "isSplitPayment": "1d8bc7"}
だから私は必要暗号化されたキー値を変数に格納するには、 "、:、}を追加してjsonフォーマットにします。ここで問題に直面します。キーにjsonのプロパティがある場合、キー値は機能に戻ります。その時私は一時的に貯蓄する必要があると思う私たちは別のグローバル変数に追加して、グローバル変数に追加し続ける必要があります...しかし、私はロジックを修正することができませんでした。誰かがこれで私を助けることができます..私の質問が明確であることを願っています。私。
「アルゴリズム」とは何か? – zaph
あなたが探している言葉は反復であり反復ではありません。 –
@zaph aesアルゴリズム –