phpseclib/phpseclib

PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.

Fund package maintenance!
terrafrost
Patreon
Tidelift

Installs: 155 418 947

Dependents: 870

Suggesters: 38

Security: 1

Stars: 4 751

Watchers: 120

Forks: 804

Open Issues: 212

3.0.14 2022-04-04 05:15 UTC

README

CI Status

Supporting phpseclib

Introduction

MIT-licensed pure-PHP implementations of the following:

SSH-2, SFTP, X.509, an arbitrary-precision integer arithmetic library, Ed25519 / Ed449 / Curve25519 / Curve449, ECDSA / ECDH (with support for 66 curves), RSA (PKCS#1 v2.2 compliant), DSA / DH, DES / 3DES / RC4 / Rijndael / AES / Blowfish / Twofish / Salsa20 / ChaCha20, GCM / Poly1305

Documentation

Branches

master

  • Development Branch
  • Unstable API
  • Do not use in production

3.0

  • Long term support (LTS) release
  • Major expansion of cryptographic primitives
  • Minimum PHP version: 5.6.1
  • PSR-4 autoloading with namespace rooted at \phpseclib3
  • Install via Composer: composer require phpseclib/phpseclib:~3.0

2.0

  • Long term support (LTS) release
  • Modernized version of 1.0
  • Minimum PHP version: 5.3.3
  • PSR-4 autoloading with namespace rooted at \phpseclib
  • Install via Composer: composer require phpseclib/phpseclib:~2.0

1.0

Security contact information

To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.

Support

Need Support?

Special Thanks

Special Thanks to our $50+ sponsors!:

Contributing

  1. Fork the Project

  2. Ensure you have Composer installed (see Composer Download Instructions)

  3. Install Development Dependencies

    composer install
  4. Create a Feature Branch

  5. Run continuous integration checks:

    composer global require php:^8.1 squizlabs/php_codesniffer friendsofphp/php-cs-fixer vimeo/psalm
    phpcs --standard=build/php_codesniffer.xml
    php-cs-fixer fix --config=build/php-cs-fixer.php --diff --dry-run --using-cache=no
    psalm --config=build/psalm.xml --no-cache --long-progress --report-show-info=false --output-format=text
    vendor/bin/phpunit --verbose --configuration tests/phpunit.xml
  6. Send us a Pull Request