jfnetwork/doctrine-encrypted-object

存储加密对象的Doctrine映射类型

2.1.0 2021-07-08 06:34 UTC

This package is not auto-updated.

Last update: 2024-09-24 08:38:04 UTC


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`)