51systems / doctrine-encrypt
该软件包已被弃用且不再维护。没有建议的替代软件包。
该软件包通过生命周期事件对Doctrine字段进行加密和解密。
v6.0.0
2017-03-12 17:38 UTC
Requires
- php: ^7.0
- doctrine/orm: ^2.5
Requires (Dev)
- illuminate/encryption: ^5.4
- phpunit/phpunit: ^5.7
This package is not auto-updated.
Last update: 2023-11-12 05:23:05 UTC
README
该软件包通过生命周期事件对Doctrine字段进行加密和解密。Doctrine Encrypt软件包的这个版本具有以下特色:
- 使用Doctrine内置库进行优秀的注解解析和缓存,以实现卓越的性能
- 完全透明的字段加密:值只会在数据库中加密,永远不会在值中加密
- 单元测试
集成
该软件包支持以下集成:
- Laravel
升级
如果您从旧版本升级,可以在升级指南中找到一些帮助。
安装
composer require 51systems/doctrine-encrypt
配置
Laravel
在服务提供者的boot
方法中添加订阅者。
<?php $encrypter = $this->app->make(\Illuminate\Contracts\Encryption\Encrypter::class); $subscriber = new DoctrineEncryptSubscriber( new \Doctrine\Common\Annotations\AnnotationReader, new \DoctrineEncrypt\Encryptors\LaravelEncryptor($encrypter) ); $eventManager = $em->getEventManager(); $eventManager->addEventSubscriber($subscriber);
使用方法
<?php namespace Your\Namespace; use Doctrine\ORM\Mapping as ORM; use DoctrineEncrypt\Configuration\Encrypted; /** * @ORM\Entity */ class Entity { /** * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Column(type="integer") * @var int */ private $id; /** * @ORM\Column(type="text") * @Encrypted * @var string */ private $secretData; }
许可证
本软件包受MIT许可证的约束。
版本
我使用语义版本控制,如此处所述。