Я пытаюсь зашифровать некоторые данные, используя crypt :: encrypt в Laravel. Мне нужно расшифровать это шифрование в приложениях iOS и Android. Есть идеи?Laravel Encryption, iOS Android Decryption
ответ
Короткий ответ: Плохая идея, не делайте этого.
Немного подробнее: Это не имеет никакого смысла. Laravel использует AES для шифрования, что является алгоритмом симметричного ключа: для шифрования и дешифрования требуется один и тот же ключ. Если вы хотите расшифровать что-либо на стороне клиента, вам нужен ключ, который будет известен клиенту - это в основном делает бесполезным шифрование всей серверной части. Чтобы дать рекомендации о том, что делать, нам нужно знать, чего вы пытаетесь достичь:
- Безопасное хранение данных между сервером Laravel и приложением? Используйте HTTPS.
- Для всего остального наиболее вероятным ответом является использование асимметричного шифрования, такого как RSA.
Лучшим решением может быть шифрование файла на сервер с открытым ключом, созданным клиентом: http://php.net/manual/en/function.openssl-public-encrypt.php И расшифруйте его с помощью закрытого ключа, известного клиенту. –
спасибо за совет –
Я бы сделал запрос на приложение laravel в HTTPS для дешифрования с использованием crypt :: decrypt. В противном случае, если вы предоставите некоторую технологию дешифрования на стороне клиента, я думаю, что это была бы огромная ошибка безопасности. Тем не менее, я не профессионал – Hammerbot
** Шрифт Laravel использует OpenSSL для обеспечения шифрования AES-256 и AES-128 ** Таким образом, вам необходимо расшифровать его в приложениях одинаково. http://stackoverflow.com/questions/21627863/decrypt-aes256-encrypted-bytes и http://stackoverflow.com/questions/27072021/aes-encrypt-and-decrypt –