【发布时间】:2016-11-16 17:33:17
【问题描述】:
我使用在线工具使用 AES 进行加密。我正在使用我的模块进行解密。但我得到的结果不一样。为什么?
我使用其中一种工具进行加密:
这是我提供的数据:
- 这是要加密的文本:
Hello World - 这是密码:
12345 - 这是工具的结果:
U2FsdGVkX19HLG+YDMe3kYl+MYwEMlnC5mK78s3rZZg=
现在我尝试使用节点解密它,但它没有给我相同的结果。但一切正常
var crypto = require('crypto'),
algorithm = 'aes-128-ctr',
password = '12345';
module.exports.decrypt=function(text){
var decipher = crypto.createDecipher(algorithm,password)
var dec = decipher.update(text,'base64','utf8')
dec += decipher.final('utf8');
return dec;
}
text=module.exports.decrypt('U2FsdGVkX1+OOp0KE3lv6qcKQeS/JDFPF8YhgdU131o=')
text
我尝试更改为 AES-192,但遇到了同样的问题。
更新:(基于 zaph 响应)
这是我在这里输入的新数据:https://www.tools4noobs.com/online_tools/encrypt/
- 密钥:0123456789abcdef(16 字节)Rijndael-128。模式:CBC。编码:十六进制。
- 这是结果:8b25e846b6a2d52ad87f38f8134906c3
我无法解密它。这是我的代码:
var crypto = require('crypto'),
algorithm = 'aes-128-cbc',
password = '0123456789abcdef';
module.exports.decrypt=function(text){
var decipher = crypto.createDecipher(algorithm,password)
var dec = decipher.update(text,'hex','utf8')
dec += decipher.final('utf8');
return dec;
}
if(!module.parent){
var text=module.exports.decrypt('8b25e846b6a2d52ad87f38f8134906c3')
console.log(text)
}
【问题讨论】:
标签: javascript node.js encryption cryptography