php sec lib 1.0: An Introduction

Compatibility

phpseclib is designed to be ultra-compatible. It works on PHP4+ (PHP4, assuming the use of PHP_Compat) and doesn't require any extensions. For purposes of speed, mcrypt is used if it's available as is gmp or bcmath (in that order), but they are not required.

Interoperability

phpseclib is designed to be fully interoperable with OpenSSL and other standardized cryptography programs and protocols.

MIT-Licensed

phpseclib is licensed with the MIT-license. By virtue of not being copyleft it's less restrictive than the GPL, which in turn, means that it's fully GPL compatible.

Usage

This library is written using the same conventions that libraries in the PHP Extension and Application Repository (PEAR) used to be written in (current requirements break PHP4 compatibility). In particular, this library needs to be in your include_path:

<?php set_include_path(get_include_path() . PATH_SEPARATOR . 'phpseclib'); include('Net/SSH2.php'); ?>

Other Branches: 2.0 and master

The 2.0 branch has pretty much the exact same API as the 1.0 branch, save for that it is namespaced, uses PHP5-style constructors (thereby avoiding E_DEPRECATED errors) and requires the use of an autoloader. A few examples.

The master branch has an unstable API that is subject to change. The master branch will eventually turn into 3.0, at which point, this website will be re-designed with an emphasis on that version.