В основном то, что сказал Хью выше: проверьте IV, размеры клавиш и режимы цепочки, чтобы убедиться, что все идентично.
Независимо тестируйте обе стороны, кодируйте некоторую информацию и проверяйте, чтобы Ruby и Python идентифицировали ее одинаково. Вы предполагаете, что проблема связана с шифрованием, но это может быть что-то столь же простое, как отправка зашифрованных данных с помощью puts
, которая выбрасывает в данные случайные символы новой строки. Убедившись, что они правильно шифруют данные, убедитесь, что вы получаете именно то, что, как вы думаете, вы отправили. Продолжайте шаг за шагом, пока не найдете стадию, которая искажает данные.
Кроме того, я бы предложил использовать библиотеку openssl, входящую в стандартную библиотеку ruby, вместо использования внешнего гема.