abbasbkz / laravel-db-encrypter
提供数据库模型属性加密/解密
v1.0.3
2022-07-02 11:09 UTC
Requires
- php: >=7.1
- jenssegers/mongodb: >=3.7
- laravel/framework: ^6.0|^7.0|^8.0|^9.0|9.*
This package is auto-updated.
Last update: 2024-09-30 02:13:08 UTC
README
此包是为了加密和解密 Eloquent 模型属性的值而创建的。
🔷 🔷 🔷 🔷
🔷 🔷 🔷 🔷
现在支持 jenssegers/mongodb
🔷 🔷 🔷 🔷
🔷 🔷 🔷 🔷
捐赠
如果您认为这个包对您有帮助,请捐赠。谢谢。
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 payamjafari/laravel-db-encrypter
用法
- 在您希望使用加密的任何 Eloquent 模型中使用
betterapp\LaravelDbEncrypter\Traits\EncryptableDbAttribute
特性 - 定义一个包含加密属性列表的
protected $encryptable
数组。
例如
use Jenssegers\Mongodb\Eloquent\Model; use betterapp\LaravelDbEncrypter\Traits\EncryptableDbAttribute; class Client extends Model { use EncryptableDbAttribute; /** @var array The attributes that should be encrypted/decrypted */ protected array $encryptable = [ 'id_number', 'email', ]; }
- 您可以使用 Laravel 的原始 $casts 来转换解密值
许可证
MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。