An AES Encrypter for PHP

dev-master 2020-10-28 09:54 UTC

This package is auto-updated.

Last update: 2024-01-28 17:35:08 UTC


Build Status Coverage Status Scrutinizer Code Quality

A simple class to handle AES encryption of data

DISCLAIMER: While the encryption/decryption has been tested, it has not been vetted by a security expert. Use at your own risk.


Install using composer

composer require mh-ing/aes-encryption


Simply instantiate the encrypter class with a key and use the encrypt/decrypt methods


$encrypter = new AesEncrypter($key);
$encrypted = $encrypter->encrypt('My secure data');
$decrypted = $encrypter->decrypt($encrypted);

The encrypt method is able to handle encryption of any kind of data because it serializes the data first.

Encryption Methods

This library supports aes128 aes192 and aes256. It uses aes256 by default.

Use the AesEnum to use a different method.

new AesEncrypter($key, AesEnum::METHOD_128);

Encryption Strategy

Current supported PHP extension is openssl. This library requires openssl if it is available.

Upon constructing the encrypter, you may force the usage of one or the other.

new AesEncrypter($key, AesEnum::METHOD_256, AesEncrypter::STRATEGY_OPENSSL);


fix the security warning on php 7.4

Warning: Use of undefined constant MCRYPT_RIJNDAEL_128 - assumed 'MCRYPT_RIJNDAEL_128' (this will throw an Error in a future version of PHP)

Remove mcrypt because it's deprecated and use openssl