2017-02-22 20 views
0

Я пытаюсь зашифровать некоторые данные, используя crypt :: encrypt в Laravel. Мне нужно расшифровать это шифрование в приложениях iOS и Android. Есть идеи?Laravel Encryption, iOS Android Decryption

+0

Я бы сделал запрос на приложение laravel в HTTPS для дешифрования с использованием crypt :: decrypt. В противном случае, если вы предоставите некоторую технологию дешифрования на стороне клиента, я думаю, что это была бы огромная ошибка безопасности. Тем не менее, я не профессионал – Hammerbot

+0

** Шрифт Laravel использует OpenSSL для обеспечения шифрования AES-256 и AES-128 ** Таким образом, вам необходимо расшифровать его в приложениях одинаково. http://stackoverflow.com/questions/21627863/decrypt-aes256-encrypted-bytes и http://stackoverflow.com/questions/27072021/aes-encrypt-and-decrypt –

ответ

4

Короткий ответ: Плохая идея, не делайте этого.

Немного подробнее: Это не имеет никакого смысла. Laravel использует AES для шифрования, что является алгоритмом симметричного ключа: для шифрования и дешифрования требуется один и тот же ключ. Если вы хотите расшифровать что-либо на стороне клиента, вам нужен ключ, который будет известен клиенту - это в основном делает бесполезным шифрование всей серверной части. Чтобы дать рекомендации о том, что делать, нам нужно знать, чего вы пытаетесь достичь:

  • Безопасное хранение данных между сервером Laravel и приложением? Используйте HTTPS.
  • Для всего остального наиболее вероятным ответом является использование асимметричного шифрования, такого как RSA.
+1

Лучшим решением может быть шифрование файла на сервер с открытым ключом, созданным клиентом: http://php.net/manual/en/function.openssl-public-encrypt.php И расшифруйте его с помощью закрытого ключа, известного клиенту. –

+0

спасибо за совет –