mediamonks / doctrine-extensions
Doctrine2 行为扩展,允许自动转换(加密、解密、散列)您的数据
3.1.1
2023-05-16 10:41 UTC
Requires
- php: >=8.1
- gedmo/doctrine-extensions: ^3.0
Requires (Dev)
- defuse/php-encryption: ^2.0
- doctrine/common: >=2.5
- doctrine/orm: >=2.5
- laminas/laminas-crypt: ^3.10
- mockery/mockery: ^1.4
- paragonie/halite: ^v5.0
- phpunit/phpunit: ^9.5
Suggests
- defuse/php-encryption: to use the Defuse Crypto transformers
- doctrine/orm: to use the extensions with the ORM
- laminas/laminas-crypt: to use the Zend Crypt transformers
- paragonie/halite: to use the Libsodium Crypto transformers
README
MediaMonks Doctrine2 行为扩展
这些扩展为 Doctrine2 添加了更多功能。
重大变更!
所有 Zend 转换器现在重命名为 Laminas。
已移除 YAML 支持
新功能!
属性支持
可转换
此扩展使用 transform 和 reverseTransform 方法将数据转换为数据库格式或从数据库格式转换出来。例如,可以用于在数据发送到数据库时加密字段,并在从数据库检索时解密。
只有当字段值改变时,才会转换字段值,这也使得仅实现单向转换(如散列)的转换函数成为可能。
目前,以下适配器按推荐顺序提供
- HaliteSymmetricTransformer - 加密/解密值
- DefuseCryptoEncryptKeyTransformer - 加密/解密值
- PhpHashTransformer - 散列值
- PhpHmacTransformer - 使用密钥散列值
- LaminasCryptHashTransformer - 散列值
- LaminasCryptHmacTransformer - 使用密钥散列值
- LaminasCryptSymmetricTransformer - 使用 openssl(Mcrypt 已弃用)加密/解密值,默认算法为 aes
您可以通过实现 TransformableInterface 来轻松创建自己的转换器
系统要求
您需要
- PHP >= 8.1
来使用此库。
安装
使用 Composer 安装此包。
$ composer require mediamonks/doctrine-extensions
安全性
如果您发现任何安全问题,请通过电子邮件 devmonk@mediamonks.com 而不是使用问题跟踪器来报告。
文档
请参阅 /doc 文件夹中的文件。
致谢
此包受到了 gedmo/doctrine-extensions 的启发/使用了代码。
许可证
MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件。