muffin / crypt
0.1.0
2017-09-13 08:56 UTC
Requires
- ext-openssl: *
- cakephp/cakephp: ^3.2
Requires (Dev)
- phpunit/phpunit: <6.0
This package is auto-updated.
Last update: 2024-08-28 01:12:58 UTC
README
允许 ORM 对数据进行(非)对称加密/解密的 CakePHP 3 行为。
特别感谢安全专家 @ircmaxell 和 @voodooKobra 对 工作进行了审查。
自行承担风险使用。
安装
使用 Composer
composer require muffin/crypt
然后您需要加载插件。您可以使用以下 shell 命令
bin/cake plugin load Muffin/Crypt
或者通过手动添加以下语句到 bootstrap.php
Plugin::load('Muffin/Crypt');
用法
默认情况下,行为将使用 Cake\Utility\Security
并不会解密每个查找操作。当设置行为时,这两个配置都可以被覆盖。
$this->addBehavior('Muffin/Crypt.Crypt', [ 'fields' => ['cc_number', 'cc_cvv'], 'strategy' => '\Muffin\Crypt\Model\Behavior\Strategy\AsymmetricStrategy', 'implementedEvents' => [ 'Model.beforeSave' => 'beforeSave', 'Model.beforeFind' => 'beforeFind', ] ]);
如果加密的字段属于特定类型(例如,POINT
),并且当配置行为时指定,则行为将负责在数据之间进行转换。如果使用自定义类型,请确保将其添加到您的表中。
$this->addBehavior('Muffin/Crypt.Crypt', [ 'fields' => ['location' => 'point'], ]);
补丁和功能
- 分支
- 修改、修复
- 测试 - 这很重要,所以它不会无意中损坏
- 提交 - 不要更改许可证、todo、版本等。(如果确实更改了,请将它们放入自己的提交中,这样我在拉取时可以忽略它们)
- 拉取请求 - 主题分支的加分项
为了确保您的 PR 被上游考虑,您必须遵循 CakePHP 编码标准。
错误和反馈
http://github.com/usemuffin/crypt/issues
许可证
版权所有 (c) 2017, Use Muffin,许可协议为 MIT 许可证。