formatd / doctrine-encryption
此包提供了一个存储在持久化中加密的字符串 doctrine 数据类型。
v1.0.0
2021-09-08 16:23 UTC
Requires
- neos/flow: >=5.0
README
此 Neos Flow 包允许您在数据库中加密持久化数据。
它做什么?
它挂钩到 doctrine 持久化层,并在将数据写入数据库时加密数据。当从数据库中加载模型时,数据再次解密。
此包受其他框架或直接针对 doctrine 的几个类似包的启发。
兼容性
版本方案
1.0.0
| | |
| | Bugfix Releases (non breaking)
| Neos Compatibility Releases (non breaking except framework dependencies)
Feature Releases (breaking)
发布和兼容性
设置
首先,在配置中设置您的私有加密密钥。(如果加密密钥丢失,数据库中的数据也会丢失)
FormatD:
DoctrineEncryption:
secretKey: '<PleaseSetYourSecretKey>'
使数据库列加密
配置加密数据库列有两种方式。或者通过模型本身的注解,或者通过 Settings.yaml 中的配置。
使用注解进行配置
您可以使用 text_encrypted
或 array_encrypted
作为列类型。
示例
/**
* @var string
* @ORM\Column(type="text_encrypted")
*/
protected $myConfidentialProperty = '';
在设置中配置
如果您想从另一个包加密数据,可以通过添加配置来实现。目前仅支持 method: default
。
示例
FormatD:
DoctrineEncryption:
entities:
MyPackage\Website\Domain\Model\User:
phoneNumber:
method: default
name.firstName:
method: default
name.lastName:
method: default
name.fullName:
method: default
primaryElectronicAddress.identifier:
method: default