Шифрование в Rails, Расшифровка в Laravel - PullRequest
0 голосов
/ 17 мая 2018

У меня вопрос по поводу Encrypt Decrypt in Rails и Laravel 5

Корпус: Я хочу зашифровать некоторые данные в Rails, и иногда данные будут расшифровываться в Laravel. Я уже читал, как Laravel шифрует поток с помощью HMAC sha256, SAE-256-CBC и выполняет поток в Rails. Но, к сожалению, Laravel не может расшифровать

Вот мой код:

@cipher = OpenSSL::Cipher.new('aes-256-cbc')
@key = ENV['LARAVEL_APP_KEY']

...

@cipher.encrypt
@cipher.key = Base64.decode64(@key)
iv = @cipher.random_iv
@cipher.iv = iv
encrypted = @cipher.update(PHP.serialize(string)) + @cipher.final

iv = base64_encode(iv)
encrypted = base64_encode(encrypted)
mac = OpenSSL::HMAC.hexdigest(OpenSSL::Digest.new('sha256'), iv + encrypted, Base64.decode64(@key))

hash = { iv: iv, value: encrypted, mac: mac }
base64_encode(hash.to_json)
  • У APP_KEY уже есть то же самое между Rails и Laravel
  • Ожидаемый результат: Rails Encrypt 1000, Laravel тоже получит 1000
  • Реальный результат: Rails Encrypt 1000, Laravel получает шифрование (например: eyfasffksffadsfreqw)

Пожалуйста, помогите! Большое спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...