jfnetwork / doctrine-encrypted-object
存储加密对象的Doctrine映射类型
2.1.0
2021-07-08 06:34 UTC
Requires
- php: >=7.0
- defuse/php-encryption: ^2.1
- doctrine/orm: ^2.5
- symfony/config: >=4.0
- symfony/dependency-injection: >=4.0
- symfony/http-kernel: >=4.0
README
此包实现了用于存储加密对象的Doctrine映射类型。
安装
可以使用composer安装此包
composer require jfnetwork/doctrine-encrypted-object
然后应将其添加到您的包列表中
Symfony 4
bundles.php
<?php return [ ..., Jfnetwork\DoctrineEncryptedObject\DoctrineEncryptedObjectBundle::class => ['all' => true], ];
示例配置
doctrine_encrypted_object: key: '%env(DOCTRINE_ENCRYPTED_OBJECT_KEY)%'
并且应使用以下命令生成ENV变量
vendor/bin/generate-defuse-key
有关密钥生成的更多信息,请参阅来自 defuse/php-encryption 包的教程
使用方法
/** * @ORM\Column(name="your_secure_field", type="encoded_object") */ private $yourSecureField;
从1.0升级到1.1
从1.1开始,字段类型从TEXT更改为BLOB。Doctrine应为您提供一个合适的迁移。可选地,您可以添加更新查询从HEX值到二进制。例如对于MySQL
UPDATE `your_table` SET `your_secret_field` = UNHEX(`your_secret_field`)