шифрование — RSA в php сбивает с толку

Я искал RSA в php. Зашифруйте / расшифруйте текст с помощью RSA в php, и на этом сайте я нашел то, что искал:
Шифрование и дешифрование текста с помощью RSA в PHP

Но первый и второй ответ разные! Первый ответ — это библиотека (внешний файл), а второй ответ — встроенная команда openssl_public_encrypt (); ,

Так что же различного в библиотеке (внешний файл) и openssl_public_encrypt (); ,
Потому что библиотека (внешний файл) может шифроваться с помощью RSA и только RSA, но вторая — openssl!
Я не понимаю, что заставило openssl сделать RSA!

2

Решение

И то и другое PHP OpenSSL а также phpseclib это библиотеки. Библиотека OpenSSL для PHP, конечно, всегда использует внешнюю библиотеку, написанную на C. С phpseclib у вас, кажется, есть выбор использования кода PHP или внешней библиотеки OpenSSL (после небольшого взгляда на источник, предоставленный 1615903).

Обратите внимание, что OpenSSL — это обширный проект, состоящий из реализации SSL (например, используемого модулем mod_ssl веб-сервера Apache), довольно универсальной криптографической библиотеки с поддержкой PKI и CMS, а также командной строки, которая использует эти функции. Так что, может быть, это то, что вас смутило; OpenSSL используется для этого проекта в качестве криптографической библиотеки, он не вызывается интерфейсом командной строки.

OpenSSL — это библиотека, которая широко используется (и вы надеетесь на лучшую безопасность, чем кажется на самом деле). C-код много быстрее, чем PHP-код для криптографических операций; большинство скриптовых языков не очень хорошо подходят для криптографических операций.

1

Другие решения

У phpseclib есть два преимущества по сравнению с OpenSSL, когда речь идет о RSA. по крайней мере, что я могу думать о макушке головы:

  • лучшая поддержка формата ключа. OpenSSL поддерживает только ключи в формате PKCS1 или PKCS8. phpseclib поддерживает те и ключи в формате PuTTY и ключи XML-подписи. И сырые ключи тоже.
  • Вы можете использовать объекты Cryp_RSA в phpseclib с его реализациями SSH, SFTP и X.509
1

По вопросам рекламы [email protected]