Как переписать PHP openssl_decrypt на Ruby? Уважаемые знатоки PHP, помогите переписать данный код на Ruby при помощи openssl.openssl_decrypt($encrypted, "aes-256-cbc", $key, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $iv) $key представляет из себя текст "abra-cadabra-123", длиной 32 байта. $iv представляет из себя текст "abra-cadabra-123", длиной 16 байт. В то же время, openssl не принимает значения key, iv помимо hex. Есть какие-то особенности в реализации на PHP?
В Ruby можно использовать OpenSSL::Cipher для декодирования данных. Ниже приведен пример переписанного кода на Ruby:
require 'openssl'def decrypt(encrypted, key, iv)
cipher = OpenSSL::Cipher::AES.new(256, :CBC)
cipher.decrypt
cipher.key = key
cipher.iv = iv
cipher.padding = 0
decrypted = cipher.update(encrypted)
decrypted << cipher.final
end
encrypted = "\x1F\x8B\x08\x00\x91\xBD\xF5\x59\x02\xFF..."
key = "abra-cadabra-123"
iv = "abra-cadabra-123"
decrypted = decrypt(encrypted, key, iv)
puts decrypted
Не забудьте заменить encrypted на ваш зашифрованный текст.