我刚刚将我的 Mac 升级到 Snow Leopard,并启动并运行了我的 Rails 环境。唯一的区别——除了 OSX——与我之前的安装是我现在正在运行ruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]
(Snow Leopard 默认)而不是 1.8.6。
我现在在运行代码时看到与 OpenSSL 相关的弃用警告:
warning: argumtents for OpenSSL::Cipher::Cipher#encrypt and OpenSSL::Cipher::Cipher#decrypt were deprecated; use OpenSSL::Cipher::Cipher#pkcs5_keyivgen to derive key and IV
我的代码示例在第 4 行导致这些警告(它解码加密字符串):
1. def decrypt(data)
2. encryptor = OpenSSL::Cipher::Cipher.new('DES-EDE3-CBC')
3. key = "my key"
4. encryptor.decrypt(key)
5. text = encryptor.update(data)
6. text << encryptor.final
7. end
我很难理解如何解决这个问题,而谷歌并没有真正提供帮助。我应该尝试降级到 Ruby 1.8.6(如果是,那么最好的方法是什么?),我应该尝试隐藏警告(把我的头埋在沙子里?!)还是有一个简单的解决方法?可以在代码中申请吗?