bcrowe/cakephp-encrypted-type
最新稳定版本:2.0.1
Composer 安装命令:
composer require bcrowe/cakephp-encrypted-type
包简介
CakePHP 4 plugin that provides application-level database encryption.
README 文档
README
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.
Install
Via Composer
$ composer require bcrowe/cakephp-encrypted-type
Load the plugin in your application's bootstrap.php file, then define the type
mapping:
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:
[
'Encryption' => [
'key' => env('ENCRYPTION_KEY', 'defaultencryptionkeygoesrighthereyaythisisfun'),
],
]
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:
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:
<?php namespace App\Model\Table; use Cake\Database\Schema\TableSchema; use Cake\ORM\Table; class UsersTable extends Table { protected function _initializeSchema(TableSchema $schema) { $schema->columnType('first_name', 'encrypted'); $schema->columnType('last_name', 'encrypted'); $schema->columnType('email', 'encrypted'); return $schema; } }
Changelog
Please see CHANGELOG for more information what has changed recently.
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CONDUCT for details.
Security
If you discover any security related issues, please email bryan@bryan-crowe.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
统计信息
- 总下载量: 4.31k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 8
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-09-08