Мы не можем за нашу жизнь понять это.Нам нужно сделать ColdFusion шифровать данные, которые будет расшифровывать ruby.Мы пробовали так много разных настроек на стороне ColdFusion, просматривали SO сообщения, просматривали документы Adobe и не можем заставить его работать.ColdFusion необходимо зашифровать его, чтобы ruby мог сделать это:
aes = OpenSSL::Cipher::Cipher.new('aes-256-cbc').encrypt
aes.key = Digest::MD5.hexdigest("#{password}#{salt}")
aes.iv = Digest::MD5.hexdigest("#{salt}#{password}")[0,16]
encrypted = aes.update(data) + aes.final
Псевдокод ColdFusion
key = tobase64(binaryDecode(lcase(hash(password & salt, "md5")), "hex"))
iv = lcase(left(hash(salt & password, "md5"), 16))
encrypt(data, key, "AES/CBC/PKCS5Padding", "Base64", iv)
Пробовал с / без tobase64
/ binaryDecode
(видел, что кто-то упоминал, что онбудет обрабатывать преобразование обратно внутренне или что-то глупое).lcase
- заставить его генерировать MD5, которые выглядят так, как строит ruby.
Что мы делаем неправильно?Бесконечный bad decrypt
на рубиновой стороне