macellan/laravel-encryption

为 Laravel 提供灵活的数据加密适配器。

1.0.03 2021-10-18 19:46 UTC

This package is auto-updated.

Last update: 2024-09-19 02:02:08 UTC


README

为 Laravel 提供灵活的数据加密适配器。支持两步加密。适配器设置通过 "encryption_key" 加密。数据通过适配器加密。

要求 PHP 7.4+。

安装

  • 安装包
    composer req macellan/laravel-encryption
  • 准备数据库和配置文件
    php artisan vendor:publish --tag="encryption"
  • 运行迁移
    php artisan migrate
  • 默认配置: config/encryption.php
    <?php
    
    return [
        /*
        |--------------------------------------------------------------------------
        | Encrypt Adapter Options
        |--------------------------------------------------------------------------
        */
        'options_encrypt' => true,
    
        /*
        |--------------------------------------------------------------------------
        | Options Encryption Key.
        |--------------------------------------------------------------------------
        */
        'encryption_key' => env('ENCRYPTION_KEY'),
    
        /*
        |--------------------------------------------------------------------------
        | Encryption Adapters
        |--------------------------------------------------------------------------
        */
        'adapters' => [
            \Macellan\LaravelEncryption\Adapters\LocalAdapter::class,
        ],
    ];

提供者命令

  • 列出提供者
    php artisan encryption:list
  • 创建提供者
    php artisan encryption:create
  • 编辑提供者
    php artisan encryption:edit
  • 列出提供者
    php artisan encryption:remove
  • 列出提供者
    php artisan encryption:key:generate

使用方法

<?php
$data = [1,2,3];

// Data Encrypt-Decrypt
$encrypt = app('encryption')->encrypt($data);
$decrypt = app('encryption')->decrypt($encrypt)->data();

// Custom Encryption Provider
$decrypt = app('encryption')->decrypt(
    new CryptedData(EncryptionProvider $provider, $cryptedData);
);