reprovinci / doctrine-encrypt
该软件包通过生命周期事件对 Doctrine 字段进行加密和解密。
v3.0.5
2017-06-13 07:33 UTC
Requires
- php: >=5.3.2
- ext-mcrypt: *
- doctrine/orm: ~2.0
README
该软件包通过生命周期事件对 Doctrine 字段进行加密和解密。
安装
将 reprovinci/doctrine-encrypt
添加到您的 Composer 清单中。
{ "require": { "reprovinci/doctrine-encrypt": "~3.0" } }
配置
将事件订阅者添加到实体管理器的事件管理器中。假设 $em
是您配置的实体管理器
<?php # You should pick your own hexadecimal secret $secret = pack("H*", "dda8e5b978e05346f08b312a8c2eac03670bb5661097f8bc13212c31be66384c"); $subscriber = new DoctrineEncryptSubscriber( new \Doctrine\Common\Annotations\AnnotationReader, new \Reprovinci\DoctrineEncrypt\Encryptors\AES256Encryptor($secret) ); $eventManager = $em->getEventManager(); $eventManager->addEventSubscriber($encrypt_subscriber);
用法
<?php namespace Your\Namespace; use Doctrine\ORM\Mapping as ORM; use Reprovinci\DoctrineEncrypt\Configuration\Encrypted; /** * @ORM\Entity */ class Entity { /** * @ORM\Id * @ORM\GeneratedValue(strategy="AUTO") * @ORM\Column(type="integer") * @var int */ protected $id; /** * @ORM\Column(type="text") * @Encrypted * @var string */ protected $secret_data; }
许可证
本软件包采用 MIT 许可证。请参阅软件包中的完整许可证。
版本
我使用语义版本控制,如此处所述。