2012-06-10 11:27:23 +02:00
# phpseclib - PHP Secure Communications Library
2022-03-08 15:53:21 +01:00
[![CI Status ](https://github.com/phpseclib/phpseclib/actions/workflows/ci.yml/badge.svg?branch=master&event=push "CI Status" )](https://github.com/phpseclib/phpseclib)
2012-06-11 10:30:46 +02:00
2019-07-02 14:03:46 +02:00
## Supporting phpseclib
- [Become a backer or sponsor on Patreon ](https://www.patreon.com/phpseclib )
- [One-time donation via PayPal or crypto-currencies ](http://sourceforge.net/donate/index.php?group_id=198487 )
- [Subscribe to Tidelift ](https://tidelift.com/subscription/pkg/packagist-phpseclib-phpseclib?utm_source=packagist-phpseclib-phpseclib&utm_medium=referral&utm_campaign=readme )
## Introduction
2020-12-17 06:32:16 +01:00
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
2012-06-10 11:27:23 +02:00
* [Browse Git ](https://github.com/phpseclib/phpseclib )
2014-04-12 20:15:34 +02:00
2014-08-01 17:57:06 +02:00
## Documentation
2020-12-17 06:32:16 +01:00
* [Documentation / Manual ](https://phpseclib.com/ )
2020-12-17 07:11:17 +01:00
* [API Documentation ](https://api.phpseclib.com/master/ ) (generated by Doctum)
2014-08-01 17:57:06 +02:00
2016-12-18 11:02:41 +01:00
## Branches
### master
* Development Branch
* Unstable API
* Do not use in production
2020-12-17 06:32:16 +01:00
### 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`
2016-12-18 11:02:41 +01:00
### 2.0
2018-11-14 21:41:55 +01:00
* Long term support (LTS) release
2016-12-18 11:02:41 +01:00
* Modernized version of 1.0
* Minimum PHP version: 5.3.3
* PSR-4 autoloading with namespace rooted at `\phpseclib`
2018-05-10 15:51:30 +02:00
* Install via Composer: `composer require phpseclib/phpseclib:~2.0`
2016-12-18 11:02:41 +01:00
### 1.0
* Long term support (LTS) release
* PHP4 compatible
* Composer compatible (PSR-0 autoloading)
2018-05-10 15:51:30 +02:00
* Install using Composer: `composer require phpseclib/phpseclib:~1.0`
2016-12-25 16:09:17 +01:00
* Install using PEAR: See [phpseclib PEAR Channel Documentation ](http://phpseclib.sourceforge.net/pear.htm )
2021-12-28 07:26:23 +01:00
* [Download 1.0.20 as ZIP ](http://sourceforge.net/projects/phpseclib/files/phpseclib1.0.20.zip/download )
2014-08-01 17:57:06 +02:00
2019-07-02 14:03:46 +02:00
## Security contact information
To report a security vulnerability, please use the [Tidelift security contact ](https://tidelift.com/security ). Tidelift will coordinate the fix and disclosure.
2014-07-14 20:20:18 +02:00
## Support
Need Support?
* [Checkout Questions and Answers on Stack Overflow ](http://stackoverflow.com/questions/tagged/phpseclib )
* [Create a Support Ticket on GitHub ](https://github.com/phpseclib/phpseclib/issues/new )
* [Browse the Support Forum ](http://www.frostjedi.com/phpbb/viewforum.php?f=46 ) (no longer in use)
2021-11-17 16:22:30 +01:00
## Special Thanks
2022-02-01 14:00:55 +01:00
Special Thanks to our $50+ sponsors!:
2021-11-17 16:22:30 +01:00
- Allan Simon
2022-02-01 14:00:55 +01:00
- [ChargeOver ](https://chargeover.com/ )
2021-11-17 16:22:30 +01:00
2016-12-18 10:40:24 +01:00
## Contributing
2014-04-12 20:15:34 +02:00
2016-12-18 10:40:24 +01:00
1. Fork the Project
2014-04-12 20:15:34 +02:00
2016-12-18 10:40:24 +01:00
2. Ensure you have Composer installed (see [Composer Download Instructions ](https://getcomposer.org/download/ ))
2014-04-12 20:15:34 +02:00
2016-12-18 10:40:24 +01:00
3. Install Development Dependencies
2022-02-01 19:10:17 +01:00
```sh
2016-12-18 10:38:28 +01:00
composer install
2014-04-12 20:15:34 +02:00
```
2014-04-12 20:26:27 +02:00
2016-12-18 10:40:24 +01:00
4. Create a Feature Branch
2014-04-12 20:26:27 +02:00
2022-02-01 19:10:17 +01:00
5. Run continuous integration checks:
```sh
2022-02-27 23:35:58 +01:00
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
2022-02-01 19:10:17 +01:00
```
6. Send us a Pull Request