phpseclib / mcrypt_compat
PHP 5.x-8.x polyfill for mcrypt extension
Installs: 22 260 120
Dependents: 33
Suggesters: 12
Security: 0
Stars: 275
Watchers: 10
Forks: 60
Open Issues: 7
Requires
- php: >=5.6.1
- phpseclib/phpseclib: >=3.0.36 <4.0.0
Requires (Dev)
- phpunit/phpunit: ^5.7|^6.0|^9.4
Suggests
- ext-openssl: Will enable faster cryptographic operations
Provides
- ext-mcrypt: 5.6.40
README
PHP 5.x-8.x polyfill for mcrypt extension.
Supporting mcrypt_compat
- Become a backer or sponsor on Patreon
- One-time donation via PayPal or crypto-currencies
- Subscribe to Tidelift
Installation
With Composer:
composer require phpseclib/mcrypt_compat
Supported algorithms
- rijndael-128
- rijndael-192
- rijndael-256
- des
- blowfish
- rc2
- tripledes
- arcfour
Unsupported algorithms
- cast-128
- gost
- cast-256
- loki97
- saferplus
- wake
- blowfish-compat
- serpent
- xtea
- enigma
Supported modes
- cbc
- ncfb
- cfb
- ctr
- ecb
- nofb
- ofb
- stream
mcrypt_compat's ncfb
implementation has some incompatibles with mcrypt's implementation where mcrypt_generic
and mdecrypt_generic
are concerned. The unit tests elaborate.
Emulating older PHP versions
The mcrypt extension's behavior underwent changes as new versions of PHP were released. By default mcrypt_compat emulates the behavior of PHP 7.1 but if you need to emulate how mcrypt behaved in, say, PHP 5.3.0, you may do so by doing define('PHPSECLIB_MCRYPT_TARGET_VERSION', '5.3.0');
before including vendor/autoload.php (if you're using this with Composer).
Security contact information
To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure.