devkind/simple-laravel-encryptable

1.01 2023-09-04 06:18 UTC

This package is auto-updated.

Last update: 2024-09-04 08:29:53 UTC


README

Laravel Encryptable Attributes 包为使用 Eloquent 模型在数据库中存储的数据提供无缝加密和解密。使用此包,所有值在存储前都会自动加密,在查询时会自动解密,确保数据在静态存储时的安全性,同时保持数据的可访问性。

Latest Version on Packagist Total Downloads GitHub Actions

这里应该是您的描述。尽量将其限制在一两段之内,并可能提及您支持的 PSRs 以避免与用户和贡献者产生混淆。

安装

您可以通过 composer 安装此包

composer require devkind/simple-laravel-encryptable

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Devkind\SimpleLaravelEncryptable\SimpleLaravelEncryptableServiceProvider" --tag="simple-encryptable"

环境变量

以下是可用于调整加密的值

注意: ENCRYPTION_IV 是在使用此包前必须设置的 重要字段。

ENCRYPTION_KEY=
ENCRYPTION_CIPHER=
ENCRYPTION_IV=
ENCRYPTION_PREFIX=XXX

使用方法

要使用此包,只需将 Encryptable 特性添加到所有模型,并将您想要匿名化的数据库列名添加到 $encryptable

<?php

namespace App\Models;

use Devkind\SimpleLaravelEncryptable\Encryptable;
use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    use Encryptable;

    protected $encryptable = [
        'password',
    ];

}

完成之后,所有值在存储到数据库之前都会被加密,在通过 Eloquent 查询时会自动解密。

通过 Facade 手动加密

use Devkind\SimpleLaravelEncryptable\SimpleEncryptable;

$value = "your-decrypted-value";

$encrypted = SimpleEncryptable::encrypt($value); // returns the encrypted value

通过 Facade 手动解密

use Devkind\SimpleLaravelEncryptable\SimpleEncryptable;

$encrypted = "your-encrypted-value";

$value = SimpleEncryptable::decrypt($value); // returns the decrypted value

测试

composer test

变更日志

请参阅变更日志以获取最近更改的更多信息。

贡献

有关详细信息,请参阅贡献指南

安全性

如果您发现任何与安全相关的问题,请通过电子邮件backend@devkind.com联系,而不是使用问题跟踪器。

致谢

许可协议

MIT 许可协议(MIT)。有关更多信息,请参阅许可文件

Laravel 包模板

此包是使用Laravel 包模板生成的。