2017 © Pedro Peláez
 

cakephp-plugin cakephp-encrypted-type

CakePHP 3 plugin that provides application-level database encryption.

image

bcrowe/cakephp-encrypted-type

CakePHP 3 plugin that provides application-level database encryption.

  • Friday, September 8, 2017
  • by bcrowe
  • Repository
  • 1 Watchers
  • 1 Stars
  • 85 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 4 Versions
  • 507 % Grown

The README.md

CakePHP Encrypted Type

Latest Version on Packagist ![Software License][ico-license] Build Status ![Coverage Status][ico-scrutinizer] Quality Score ![Total Downloads][ico-downloads], (*1)

This plugin provides a CakePHP 4 encrypted database type for application-level encryption. Before using this plugin you may want to weigh your options between full-disk, database-level, and application-level encryption. This plugin was born out of Amazon Aurora not supporting encryption with cross region replication before March 28, 2017., (*2)

Install

Via Composer, (*3)

``` bash $ composer require bcrowe/cakephp-encrypted-type, (*4)


Load the plugin in your application's `bootstrap.php` file, then define the type mapping: ``` php Plugin::load('BryanCrowe/EncryptedType'); Type::map('encrypted', 'BryanCrowe\EncryptedType\Database\Type\EncryptedType');

Make sure to have a Encryption.key config value in your config/app.php file:, (*5)

``` php [ 'Encryption' => [ 'key' => env('ENCRYPTION_KEY', 'defaultencryptionkeygoesrighthereyaythisisfun'), ], ], (*6)


## Usage **Note:** This database type expects columns to be nullable in the case of an omitted column or whenever explicitly setting a `null` value for a column. Use `BLOB` types for columns that are to be encrypted, for example: ``` sql CREATE TABLE `users` ( `id` char(36) NOT NULL DEFAULT '', `first_name` blob, `last_name` blob, `email` blob, `created` datetime DEFAULT NULL, `modified` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

Map the type to a column in your Table class:, (*7)

``` php <?php namespace App\Model\Table;, (*8)

use Cake\Database\Schema\TableSchema; use Cake\ORM\Table;, (*9)

class UsersTable extends Table {, (*10)

protected function _initializeSchema(TableSchema $schema)
{
    $schema->columnType('first_name', 'encrypted');
    $schema->columnType('last_name', 'encrypted');
    $schema->columnType('email', 'encrypted');

    return $schema;
}

}, (*11)


## Changelog Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently. ## Testing ``` bash $ composer test

Contributing

Please see CONTRIBUTING and CONDUCT for details., (*12)

Security

If you discover any security related issues, please email bryan@bryan-crowe.com instead of using the issue tracker., (*13)

Credits

License

The MIT License (MIT). Please see License File for more information., (*14)

The Versions

08/09 2017

dev-master

9999999-dev https://github.com/bcrowe/cakephp-encrypted-type

CakePHP 3 plugin that provides application-level database encryption.

  Sources   Download

MIT

The Requires

 

The Development Requires

database cakephp encrypt encryption type cakephp3 encrypted

08/09 2017

1.0.0

1.0.0.0 https://github.com/bcrowe/cakephp-encrypted-type

CakePHP 3 plugin that provides application-level database encryption.

  Sources   Download

MIT

The Requires

 

The Development Requires

database cakephp encrypt encryption type cakephp3 encrypted

08/09 2017

0.0.2

0.0.2.0 https://github.com/bcrowe/cakephp-encrypted-type

CakePHP 3 plugin that provides application-level database encryption.

  Sources   Download

MIT

The Requires

 

The Development Requires

database cakephp encrypt encryption type cakephp3 encrypted

08/09 2017

0.0.1

0.0.1.0 https://github.com/bcrowe/cakephp-encrypted-type

CakePHP 3 plugin that provides and encrypted database type.

  Sources   Download

MIT

The Requires

 

The Development Requires

database cakephp encryption type cakephp3 encrypted