1

ルビーアプリでデータを暗号化し、ノードサーバーで復号化していますが、いくつかのエラーが発生しています。ノードサーバーでルビーコードを複製し、この2つのライブラリが異なる動作をしていることに気付きました

# Node crypto

var cipher = crypto.createCipher("aes256", key);
var key = crypto.createHash("sha512").update("foo", "utf8").digest("hex");
var crypt = cipher.update("bar", "utf8", "base64");
crypt += cipher.final("base64");
return crypt;

Result: BTK+S8ogCW7cK7NlA5RUJw==

# Ruby OpenSSL
cipher = OpenSSL::Cipher::Cipher.new('aes256').encrypt
cipher.key = Digest::SHA512.hexdigest("foo")
encrypted = cipher.update("bar".to_s)
encrypted += cipher.final
return Base64.encode64(encrypted)

Result: fnRH+EczVbJWwrPSITkhuw==

どうすればこれを修正できますか

4

0 に答える 0