Skip to content

phpseclib/mcrypt_compat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b32001f · Nov 10, 2024
Feb 23, 2024
Nov 10, 2024
Feb 22, 2024
Dec 23, 2020
Apr 3, 2016
Apr 3, 2016
Jan 4, 2017
Dec 19, 2022
Apr 3, 2016
Jul 2, 2019
Feb 23, 2024
Dec 19, 2022
Jan 4, 2017

Repository files navigation

mcrypt_compat

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.