我有一些解密代碼需要在Python中移植到節點。我似乎無法獲得解密權,而且我瘋了。Node.js AES解密
我的Python代碼:
from Crypto.Cipher import AES
mode = AES.MODE_ECB
secret = "9kL8yb/3Tu2czOr5qfiGPgJmx25s+T15"
cipher = AES.new(secret, mode)
DecodeAES = lambda c, e: c.decrypt(e.decode("hex"))
incoming = '813411aa65dcb66802a6e4d5995d8302'
pre_add = DecodeAES(cipher, incoming)
print pre_add
傳入的結果是0004a38bc14e7533這是正確的。
我很抱歉,我對節點和JavaScript非常陌生。
我需要以某種方式得到確切的同樣的事情從node.js的
節點,我有以下迄今爲止工作:
var crypto = require('crypto');
var ciphertext = '813411aa65dcb66802a6e4d5995d8302';
var key = '9kL8yb/3Tu2czOr5qfiGPgJmx25s+T15';
var binkey = new Buffer(key, 'binary');
var decipher = crypto.createDecipher('aes-256-ecb', binkey, '');
decipher.setAutoPadding(auto_padding=true);
var dec = decipher.update(ciphertext, 'hex');
dec += decipher.final();
從我的文檔的理解另一個更新
請幫助我越來越絕望。
非常感謝
強尼
你意識到你的(原始,python)代碼是不安全的,對吧?看看維基百科關鍵詞的密碼模式,ecb。 –
加密在微控制器上執行。我們沒有足夠的內存來更好地使用任何東西。加密的數據非常小,最終成爲一個塊 –
不要只說「它不工作」。給我們一些樣本數據和你期望的輸出結果,描述你得到的錯誤或者不正確的結果等等。 – abarnert