Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点加密js AES加密->;解密使用?_Javascript_Node.js_Cryptojs - Fatal编程技术网

Javascript 节点加密js AES加密->;解密使用?

Javascript 节点加密js AES加密->;解密使用?,javascript,node.js,cryptojs,Javascript,Node.js,Cryptojs,我试图生成一个简单的测试,如下所示: 'use strict'; var AES = require('crypto-js/aes'); var key = 'passPhrase'; var ecr = function(str) { return AES.encrypt(str, key); }; var dcr = function(str) { return AES.decrypt(str, key); }; console.log(dcr(ecr('hello wo

我试图生成一个简单的测试,如下所示:

'use strict';

var AES = require('crypto-js/aes');
var key = 'passPhrase';
var ecr = function(str)
{
    return AES.encrypt(str, key);
};
var dcr = function(str)
{
    return AES.decrypt(str, key);
};

console.log(dcr(ecr('hello world')));
// expected result is:  hello world
实际结果是:

{ words: [ 1751477356, 1864398703, 1919706117, 84215045 ],
  sigBytes: 11 }
正确的用法是什么?

哦,好吧。。 工作代码:

'use strict';

var CryptoJS = require('crypto-js');
var key = 'pass phrase';
var ecr = function(str)
{
    return CryptoJS.AES.encrypt(str, key);
};
var dcr = function(str)
{
    return CryptoJS.AES.decrypt(str, key)
        .toString(CryptoJS.enc.Utf8);
};

console.log(dcr(ecr('hello world')));
结果:

hello world

我修改了代码以处理任何对象:

'use strict';

var CryptoJS = require('crypto-js');
var key = 'pass phrase';
var ecr = function(obj)
{
    return CryptoJS.AES.encrypt(JSON.stringify(obj), key);
};
var dcr = function(obj)
{
    return JSON.parse(CryptoJS.AES.decrypt(obj, key)
        .toString(CryptoJS.enc.Utf8));
};

var s = 'hello world';
console.log(dcr(ecr(s)));

var obj = {
    id: 'ken',
    key: 'password'
};
console.log(dcr(ecr(obj)));

谢谢你的意见。你是对的。我发布了另一个修改后的答案。