betterapp / laravel-db-encrypter
提供数据库模型属性加密/解密
v2.0.0
2022-11-21 16:27 UTC
Requires
- php: >=8.0
- laravel/framework: ^9.0
This package is auto-updated.
Last update: 2024-08-28 17:52:34 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
类型。如果您想使用 VARCHAR
或 CHAR
列类型,您仍需要检查加密值是否适合。
注意
如果您当前数据库中的数据未加密且已添加到 $encryptable
列表中,请放心,它们将按原样返回。
在保存值时,将进行加密,一切将正常工作。
安装
通过 Composer 命令行
$ composer require betterapp/laravel-db-encrypter
用法
- 在您希望使用加密的任何 Eloquent 模型中,使用
betterapp\LaravelDbEncrypter\Traits\EncryptableDbAttribute
特性 - 定义一个包含加密属性列表的
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', ]; }
- 您可以使用 Laravel 的原始 $casts 来转换解密值
许可证
MIT 许可证 (MIT)。请参阅许可证文件以获取更多信息。