gpt4 book ai didi

ruby-on-rails - Rails 3 和加密字符串 Gem - 获取 OpenSSL::Cipher::CipherError: bad decrypt error

转载 作者:数据小太阳 更新时间:2023-10-29 06:44:36 29 4
gpt4 key购买 nike

我正在使用 rails 3.2、Ruby 1.9.3 和 encrypted_strings gem,尝试以下操作:

"wC6234sdf234234cCY1Lag==\n".decrypt(:symmetric, :key => "mykeynottelling")

我收到这个错误:

OpenSSL::Cipher::CipherError: bad decrypt

然而,这不会发生在 Ruby 1.8.7 中。我对此有点迷茫,有人知道是什么原因造成的吗?

更新 1:

如果我在 ruby​​ 1.8.7 中加密一个字符串:

"password".encrypt(:symmetric, :key => "www.buyandsell.ie") # output is "hr0aZUZTa7x1gQL8ZMI/dQ==\n"

并尝试在 ruby​​ 1.9.2 中解密我收到“解密错误”错误,但如果我将它粘贴到我在 ruby​​ 1.8.7 中的 IRB 控制台并尝试解密它,它会起作用。

更新 2:

我的 ruby​​ 1.9.3 和 1.8.7 盒子之间的 OpenSSL 不同,这会导致这个错误吗?

最佳答案

我在从 1.9.3 升级到 2.2.2 时遇到了类似的问题,处理 Symmetric Encryption gem 。最终的根本原因是该 gem 使用了 Ruby 的编码(marshal)处理库,该库在不同版本之间发生了变化。

我最终不得不在升级到 2.2.2 之前解密 1.9.3 中的所有数据,事实证明这是一次痛苦的经历。

来自docs ,

Marshaled data has major and minor version numbers stored along with the object information. In normal use, marshaling can only load data written with the same major version number and an equal or lower minor version number.

关于ruby-on-rails - Rails 3 和加密字符串 Gem - 获取 OpenSSL::Cipher::CipherError: bad decrypt error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17094655/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com