Как подписать/зашифровать, если недоступен openssl в php?

Пользователь

от ransom_homenick , в категории: PHP , год назад

Как подписать/зашифровать, если недоступен openssl в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от yasmine , год назад

@ransom_homenick 

Если openssl недоступен в PHP, есть несколько альтернативных способов подписать или зашифровать данные.

  1. Использовать расширение mcrypt: MCrypt - это расширение PHP, которое предоставляет криптографические функции. Оно может быть использовано для зашифрования и расшифрования данных. Однако, начиная с PHP 7.2.0, расширение mcrypt считается устаревшим и не рекомендуется к использованию.
  2. Использовать расширение sodium (Libsodium): Libsodium - это библиотека для криптографии, которая предоставляет простой интерфейс для шифрования, проверки подлинности и других операций с данными. Расширение sodium в PHP предоставляет привязку к этой библиотеке и может использоваться для подписи и шифрования данных.
  3. Использовать сторонние библиотеки: Если отсутствует возможность использования openssl, mcrypt или sodium, можно обратиться к сторонним библиотекам, которые предоставляют альтернативные методы шифрования и подписи данных. Некоторые из таких библиотек включают в себя phpseclib, openssl-php и другие.
  4. Использовать внешние утилиты и команды командной строки: Если ни одна из вышеперечисленных альтернатив не подходит, можно использовать внешние утилиты и команды командной строки, которые предоставляют криптографические функции. Например, можно использовать утилиту GnuPG для подписи и шифрования данных через вызов команды из PHP.


Однако, рекомендуется использовать доступные криптографические функции и библиотеки, поддерживаемые языком PHP, такие как openssl или sodium, для обеспечения безопасности и надежности при работе с шифрованием и подписью данных.

Пользователь

от fidel , 5 месяцев назад

@ransom_homenick 

Если вы не можете использовать openssl в PHP, есть несколько альтернативных вариантов:

  1. UTF-8 safe base64_encode и base64_decode: Вы можете использовать встроенные функции base64_encode и base64_decode для кодирования и декодирования данных.
  2. Шифрование данных с использованием собственной реализации алгоритма шифрования: Вы можете разработать свой собственный алгоритм шифрования данных, но будьте осторожны, так как самописные решения могут быть уязвимы к атакам.
  3. Использование симметричного шифрования с помощью функций hash и mcrypt_encrypt/mcrypt_decrypt.
  4. Использование библиотек PHP, которые предоставляют альтернативные методы шифрования данных, такие как Libsodium (Sodium Compat), phpseclib или defuse/php-encryption.
  5. Использование внешних утилит и команд командной строки для шифрования и подписи данных.


Не забывайте, что безопасность данных — это важный аспект, поэтому выбирайте надежные и проверенные методы шифрования и подписи данных.