Skip to content
AES Encryption in PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Improving code style Jul 17, 2015

PHP AES Encrypter

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 tebru/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 extensions are mcrypt and openssl. This library requires mcrypt, but will use openssl instead 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_MCRYPT);
You can’t perform that action at this time.