mgpl2311/laravel-db-encrypter

提供数据库模型属性加密/解密

This package is auto-updated.

Last update: 2024-08-31 00:33:35 UTC


README

此包是为了加密和解密Eloquent模型属性的值而创建的。

捐赠

如果您认为这个包对您有帮助,请捐赠。谢谢。

https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=SPYLWZ8Y5E4JE&source=url

主要特性

  • 加密和解密存储在数据库字段中的值
  • 使用标准的Laravel加密服务
  • 易于配置

要求

  • Laravel: 6.0 及以上
  • PHP: 7.1 及以上

数据库模式

加密的值以纯文本形式存储,因此在大多数情况下比未加密的值占用更多空间。建议将表列更改为 TEXT 类型。如果您想使用 VARCHARCHAR 列类型,您仍然需要检查加密值是否适合。

注意

如果您数据库中当前有未加密的数据和已添加到 $encryptable 的列,请不要担心 - 它们将按原样返回。
在保存值时,将进行加密,一切都将正常工作。

安装

通过Composer命令行

$ composer require betterapp/laravel-db-encrypter

用法

  1. 在任何希望使用加密的Eloquent模型中使用 betterapp\LaravelDbEncrypter\Traits\EncryptableDbAttribute 特性
  2. 定义一个包含加密属性列表的 protected $encryptable 数组。

例如

    
    use betterapp\LaravelDbEncrypter\Traits\EncryptableDbAttribute;

    class Client extends Eloquent {
        use EncryptableDbAttribute;
       
        /** @var array The attributes that should be encrypted/decrypted */
        protected $encryptable = [
            'id_number', 
            'email',
        ];
    }
  1. 您可以使用Laravel的原始$casts来转换解密值

许可证

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