fundamental-studio/laravel-encryptable

Laravel Encryptable 扩展,使用最多4行代码轻松加密/解密数据库值。

dev-master 2021-01-31 15:23 UTC

This package is auto-updated.

Last update: 2024-09-29 05:48:47 UTC


README

Laravel Encryptable 扩展,使用最多4行代码轻松加密/解密数据库值。

  • 一个特质,可用于所有模型。
  • 指定所有需要或不需要加密的属性。
  • 在创建/更新时自动加密数据。
  • 在检索和属性访问时自动解密值。
  • 可与所有可用的数据库一起使用。请注意数据的长度。
  • 同时尊重类型转换和日期字段。
  • 底层使用 Laravel 的 Crypt 特质。
  • 尊重属性的类型转换和变异。

由 Fundamental Studio Ltd. 用爱和代码制作。

安装

该包与 Laravel 7+ 版本兼容。

通过 composer

$ composer require fundamental-studio/laravel-encryptable

安装后,Laravel 应自动发现此包。就是这样。您已准备好开始使用了。

文档和用法说明

我们包的使用非常流畅和简单。首先,您需要使用我们包的正确命名空间

use Fundamental\Encryptable\Encryptable;

然后,在您的 Eloquent 模型中使用此特质,如下所示

class User extends Model
{
    use Encryptable;

    // The rest of your model.
}

然后,您可以指定要加密或不需要加密的属性

protected $encryption = [
    'attribute_1', 'attribute_2', 'attribute_3'
];

您还可以指定

protected $encryptAll = true;

并使用 skipEncryption 规则为那些应被省略的属性。

protected $skipEncryption = [
    'attribute_4', 'attribute_5'
];

默认情况下,id 和时间戳字段被省略。

方法

该包尽可能简单。它包含一个特质,该特质重写了默认的 setAttribute 和 getAttributeValue 方法。您可以在 Laravel API 文档 中找到更多关于它们的信息。

没有公开暴露的方法应该使用。

变更日志

所有更改均可在我们的 Changelog 文件中找到。

支持

对于任何进一步的问题、功能请求、问题、想法等,您可以在问题跟踪器中创建问题,或通过 support@fundamental.bg 联系我们

贡献

阅读贡献文件以获取更多信息。

致谢

  • Konstantin Rachev
  • Vanya Ananieva

该包由 Fundamental Studio Ltd. 的团队捆绑并贡献给社区。

问题

如果您发现任何问题,请使用问题跟踪器。

安全

如果您发现任何与安全相关的问题,请通过 konstantin@fundamental.bgsupport@fundamental.bg 发送电子邮件,而不是使用问题跟踪器。

许可

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