Как разрешить предупреждения об устаревании для OpenSSL :: Cipher :: Cipher # encrypt
Я только что обновил свой 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 (и если да, то как лучше всего это сделать?), Я должен попытаться просто скрыть предупреждения (утопить мою голову в песке ?!) или это легко исправить? можно применить в коде?