与Python等效的NodeJS AES 256 CTR算法

时间:2018-11-09 18:05:16

标签: python node.js encryption cryptography aes

我一直使用如下的nodejs模块加密消息:

 var crypto = require('crypto'),
    algorithm = 'aes-256-ctr',
    password = 'd6F3Efeq';

function encrypt(text){
  var cipher = crypto.createCipher(algorithm,password)
  var crypted = cipher.update(text,'utf8','hex')
  crypted += cipher.final('hex');
  return crypted;
}

(从这里开始:https://lollyrock.com/articles/nodejs-encryption/

但是,使用相同的秘密,相同的算法和相同的模式,我无法使用Python中的加密技术对此进行解密。

这是我尝试过的事情之一:

crypto = AES.new(password, AES.MODE_CTR)
print(crypto.decrypt(message.decode("hex")))

返回二进制数据。用UTF-8编码失败,最有趣的是: 似乎AWS.new每次都会生成一个随机iv,并且每次运行的解密结果都不同!

..现在,nodeJS库没有返回Nonce,所以我不知道除了密文和密码(秘密)之外,NodeJS函数还带给我什么-有什么想法吗?

0 个答案:

没有答案