Jak rozwiązać ostrzeżenia o wycofaniu dla szyfrowania OpenSSL :: Cipher :: Cipher #
Właśnie zaktualizowałem mojego Maca do Snow Leoparda i uruchomiłem środowisko Railsów. Jedyną różnicą - na bok OSX - z moją poprzednią instalacją jest to, że teraz pracujęruby 1.8.7 (2008-08-11 patchlevel 72) [universal-darwin10.0]
(Domyślnie Snow Leopard) zamiast 1.8.6.
Widzę teraz ostrzeżenia o nieaktualności dotyczące OpenSSL, gdy uruchamiam mój kod:
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
Przykład mojego kodu powodującego te ostrzeżenia (dekoduje zaszyfrowany ciąg) w linii 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
Staram się zrozumieć, jak mogę to rozwiązać, a Google tak naprawdę nie pomaga. Czy powinienem spróbować przejść na Ruby 1.8.6 (a jeśli tak, to jaki jest najlepszy sposób na zrobienie tego?), Czy powinienem próbować ukryć ostrzeżenia (zakopać głowę w piasku? można zastosować w kodzie?