[英]node crypto-js AES encrypt -> decrypt usage?
我试图在节点上生成一个简单的crypto-js测试,如下所示:
'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(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)));
哦,好..工作代码:
'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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.