payamjafari / laravel-db-encrypter
提供数据库模型属性加密/解密功能
v1.1.1
2021-11-21 13:14 UTC
Requires
- php: >=7.1
- jenssegers/mongodb: >=3.7
- laravel/framework: ^6.0|^7.0|^8.0
This package is auto-updated.
Last update: 2024-09-21 20:51:51 UTC
README
此包旨在加密和解密Eloquent模型属性的值。
🔷 🔷 🔷 🔷
🔷 🔷 🔷 🔷
现在支持jenssegers/mongodb
🔷 🔷 🔷 🔷
🔷 🔷 🔷 🔷
捐赠
如果您认为这个包对您有帮助,请捐赠。谢谢。
https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=SPYLWZ8Y5E4JE&source=url
主要特性
- 加密和解密数据库字段中存储的值
- 使用标准的Laravel Crypt服务
- 易于配置
要求
- 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)。有关更多信息,请参阅 许可证文件。