【发布时间】:2019-08-19 16:29:22
【问题描述】:
我使用https://encode-decode.com/aes-256-ctr-encrypt-online/加密明文,然后使用nodejs crypto aes-2556-ctr算法解密,但它不返回原始文本。
纯文本:测试 密钥:12345678901234567890123456789012
使用https://encode-decode.com/aes-256-ctr-encrypt-online/的加密文本:D/EU6g==
以下是我在nodejs中使用的代码:
var crypto = require('crypto'),
algorithm = 'aes-256-ctr',
key = '12345678901234567890123456789012';
function encrypt(text){
var cipher = crypto.createCipher(algorithm,key);
var crypted = cipher.update(text,'uft8', 'base64');
crypted += cipher.final('base64');
return crypted;
}
function decrypt(text){
var decipher = crypto.createDecipher(algorithm,key);
var dec = decipher.update(text, 'base64', 'utf8');
dec += decipher.final('utf8');
return dec;
}
我还可以看到 nodejs encrypt 返回了我用来加密的工具的不同输出。
有人知道这里可能缺少什么吗?
【问题讨论】:
标签: node.js cryptography