mh-ing/aes-encryption

An AES Encrypter for PHP

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

This package is auto-updated.

Last update: 2024-10-28 19:29:25 UTC


README

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.

Installation

Install using composer

composer require mh-ing/aes-encryption

Usage

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

<?php

$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);

Update

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