节点encryption-js AESencryption – >解密使用情况?
我正在试图在节点上生成一个简单的crypto-jstesting,如下所示:
'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
- 使用vb.net AES / CBCencryptionstring,并需要使用JavaScript CryptoJS进行解密
- PHP – 计算正确的HMAC签名为nodejs脚本
- 试图嘲笑github webhook请求,得到:“X-Hub-Signature不匹配blob签名”
- 使用phpseclib使用AES进行encryption,并使用CryptoJS进行解密
- 由于crypto.DEFAULT_ENCODING ='binary',节点6升级导致aws-sdk的SignatureDoesNotMatch错误。
- 节点密码和encryption-jsencryption和解密之间的兼容性
- Nodejs crypto.pbkdf2结果不同于CryptoJS.PBKDF2
- PassportJS – 在将有效载荷数据传递给passport.authenticate作为请求参数之前获取
- 用CryptoJS解密openssl AES