sierratecnologia / crypto
Laravel 和 Lumen 的加密工具
Requires
- php: >=5.6.4
- illuminate/support: 5.*
- ramsey/uuid: >=3.8
Requires (Dev)
- mikey179/vfsstream: >=1.6
- mockery/mockery: >=0.9.4
- orchestra/testbench: >=3.3
- phpunit/phpunit: >=5.0
This package is auto-updated.
Last update: 2024-09-16 05:12:16 UTC
README
Crypto - Laravel 和 Lumen 的强大且优雅的加密工具
Crypto 工具集提供了一组方便的方法,用于加密、解密、生成 uuid、生成应用密钥等。
作者
- Matt Lantz (@mattylantz, mattlantz at gmail dot com)
要求
- PHP 5.6+
- OpenSSL
- Laravel 5.3+ 或 Lumen
- 对于 Lumen,您必须启用 Facades:
$app->withFacades()
安装
开始一个新的 Laravel 项目
composer create-project laravel/laravel your-project-name
然后运行以下命令添加 Crypto
composer require "sierratecnologia/crypto"
文档
https://docs.sierratecnologia.ca/others/crypto
许可证
Crypto 是开源软件,根据 MIT 许可证 发布
错误报告和功能请求
请尽可能详细地提供有关提交问题和功能请求的详细信息
免责声明
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该责任基于合同、侵权或其他方式,无论该责任是否因软件或其使用或其他方式而产生。
Laravel Encryptable 特性
提供一种特性,用于在 Laravel 模型中解密或加密值。
用法
将特性添加到您的模型中,定义 $encrypted
数组,其中包含要加密和解密的字段。
namespace App; use Cheezykins\LaravelEncryptable\Traits\Encryptable; use Illuminate\Database\Eloquent\Model; class MyModel extends Model { use Encryptable; protected $encrypted = [ 'email' ]; }
然后在用法中
$model = new MyModel(); $model->name = 'Chris'; $model->email = 'chris@test.com'; $model->save();
数据库中的 email 字段现在是加密值。
eyJpdiI6IkRZS0lOUlwvR29MbU4zN1diYzl2ZCtnPT0iLCJ2YWx1ZSI6IldEYzVUajlUcDdvVHE0M0kxdForNlE9PSIsIm1hYyI6ImY1MzQ2ZWYwNTNkZDI2YTY2MDgyMmVjZmU3MmI0MGU0NTNmMmU4NWE4OGFmYzZhYTJlYzczMWU1YTdmNzNjYjQifQ==
当检索数据时,数据将自动为您解密。
$model = MyModel::find(1); echo $model->email;
> "chris@test.com"
其他访问模型数据的方式也是一样。
$model = MyModel::find(1); return response()->json($model->toArray());
{ "id": 1, "name": "Chris", "email": "chris@test.com" }
警告
加密值是根据您在 config/app.php 中定义的 cipher 设置和 Laravel APP_KEY 存储的。如果您的应用程序密钥更改或丢失,将 无法 恢复数据。
安装
需要项目并使用它。由于不需要,因此没有服务提供者。
composer require cheezykins/laravel-encryptable