【发布时间】:2015-04-24 15:18:21
【问题描述】:
使用 CryptoJS 或 Ruby 的 OpenSSL 加密时,我无法得到相同的结果
JS代码
k=CryptoJS.enc.Hex.parse('ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb');
iv=CryptoJS.enc.Hex.parse('3e23e8160039594a33894f6564e1b1348bbd7a0088d42c4acb73eeaed59c009d');
r=CryptoJS.AES.encrypt("hello", k, { iv: iv });
alert(r.ciphertext.toString(CryptoJS.enc.Base64));
在 Rails 中
cipher = OpenSSL::Cipher::AES.new(256, :CBC)
cipher.encrypt
cipher.key = 'ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb'
cipher.iv = '3e23e8160039594a33894f6564e1b1348bbd7a0088d42c4acb73eeaed59c009d'
enc = cipher.update('hello')+cipher.final
puts Base64.encode64(enc)
这 2 个结果没有给出相同的加密消息。
【问题讨论】:
标签: ruby-on-rails encryption openssl aes cryptojs