Я только что обновил свой 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
Я изо всех сил пытаюсь понять, как я могу решить эту проблему, и Google действительно не помогает. Должен ли я попробовать перейти на Ruby 1.8.6 (и если да, то как лучше это сделать?), Я должен попытаться просто скрыть предупреждения (похоронить мою голову в песке ?!) или есть простое исправление? можно применить в коде?