williamrox45/encrypt-model

该包的理念非常简单;它旨在以自动化的方式为模型类的属性添加加密。

v1.0.3 2024-09-14 02:58 UTC

This package is auto-updated.

Last update: 2024-09-14 02:58:18 UTC


README

一个简单的特质,如果你想在数据库中加密存储,可以添加到你的模型中,例如:存储信用卡或任何敏感数据。

需求

Laravel 9+

安装

composer require williamrox45/encrypt-model

用法

use William\EncryptModel\EncryptModel;

class User extends Authenticatable
{
    use HasFactory;
    use Notifiable;
    use SoftDeletes;
    use EncryptModel; // <------

    /**
     * Attributes that should be encrypted
     * @var array<int, string>
     */
    protected $encryptable = [
        'name',
        'email',
    ];
$user = new User();

$user->name = "William";
$user->email = "will123@will123.com";

dump($user);
/**
 * These values will be save like this in the database
 * 
 * name = eyJpdiI6ImxyeVRBMGZrdGV2TDE1N1BkdzhRbFE9PSIsInZhbHVlIjoiUEd0QjlNbzNLMDBidXYySUtnRHB4dz09IiwibWFjIjoiMWY2ZDhjZjVhMmY5Mzk1ZGJlZDlhZWEyODk1ODg4NzIzOTdlZWE5MGY3ODhjNmM1ZDUzOGY2MzM5ZjEzOWI3YSIsInRhZyI6IiJ9
 * email = eyJpdiI6InhqamlKQVIxalFEdFNuRDZqNnZZTHc9PSIsInZhbHVlIjoicmgrMktBcDJwUllvZzFEZ3h6VDd3dlhKZXBPSWNuMi9TcHYrYnBZb2wrVT0iLCJtYWMiOiI2MGM0YmI5Mzc1ZjkxZjFkY2VkNDE3MzIwZDRjYjQ5ODc4ZDc1N2JjYTU2MmExNGNkYTlmZjk3NTU4ODM1Y2M5IiwidGFnIjoiIn0
 */
dd($user->name, $user->email);
/**
 * name = William
 * email = will123@will123.com
 */