phpseclib/mcrypt_compat

PHP 5.x-8.x polyfill for mcrypt extension

Fund package maintenance!
Patreon
Tidelift

Installs: 18 786 437

Dependents: 32

Suggesters: 11

Security: 0

Stars: 265

Watchers: 10

Forks: 62

Open Issues: 5

2.0.6 2024-02-26 14:52 UTC

README

CI Status

PHP 5.x-8.x polyfill for mcrypt extension.

Supporting mcrypt_compat

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.