1

我在 ruby​​ 应用程序上加密数据并在节点服务器上解密,但我遇到了一些错误,我在节点服务器上复制了 ruby​​ 代码并注意到这 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