Laravel扩展推荐:Ciphersweet包(加密/解密字段)

发布时间 - 2022-12-23 00:00:00    点击率:

本篇文章给大家分享一个laravel扩展:ciphersweet包,介绍一下怎么利用laravel ciphersweet 来加密/解密 laravel 中的 eloquent 模型字段,希望对大家有所帮助!

Laravel Ciphersweet 是由 Spatie 提供的一个包,用于在Laravel应用程序中集成可搜索的字段级加密。该包的  readme  解释了密码甜蜜可以帮助解决的问题,如下所示:

在你的项目中,你可能会将敏感的个人数据存储在数据库中。如果未经授权的人访问你的数据库,则所有敏感数据都可以读取,这显然是不好的。要解决此问题,你可以对个人数据进行加密。这样,未经授权的人无法读取它,但当你需要显示或使用数据时,你的应用程序仍然可以解密它。

这个包是 Ciphersweet 的包装器,可以轻松地将其功能集成到 Laravel 模型中。以下是自述文  setup instructions  中的模型示例,该示例说明了使用 Ciphersweet 模型的外

use Spatie\LaravelCipherSweet\Contracts\CipherSweetEncrypted;
use Spatie\LaravelCipherSweet\Concerns\UsesCipherSweet;
use ParagonIE\CipherSweet\EncryptedRow;
use Illuminate\Database\Eloquent\Model;

class User extends Model implements CipherSweetEncrypted
{
    use UsesCipherSweet;

    public static function configureCipherSweet(EncryptedRow $encryptedRow): void
    {
        $encryptedRow
            ->addField('email')
            ->addBlindIndex('email', new BlindIndex('email_index'));
    }
}

这允许你加密用户的电子邮件,以防止未经授权的人读取数据,但允许你解密数据以显示或使用它。

一旦你配置了此包并设置了模型,你就可以使用盲索引在数据库中搜索加密数据:

$user = User::whereBlind('email', 'email_index', 'rias@spatie.be');

此包还有助于生成加密密钥和加密模型属性,以加快与密码的集成。

我想指出的是,你不应该在不了解你试图解决的用例的来龙去脉的情况下盲目地使用这个包。你可以在 此页面 上了解有关 CipherSweet 的更多信息,其中包含许多链接资源

CipherSweet 还具有 PHP 特定文档 可帮助您快速了解底层 PHP 包。

我还建议阅读 Rias 的帖子,使用 CipherSweet 加密 Laravel Eloquent 模型。

要开始使用这个包,请在 GitHub 上的 spatie/laravel-ciphersweet 上查看它。

           packages    
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
                               我们的翻译工作遵照 Spatie0,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:Spatie1

译文地址:Spatie2


# laravel  # php  # github  # 数据库  # https  # 的人  # 未经授权  # 数据库中  # 使用这个  # 应用程序  # 的是  # 您的  # 我想  # 我还  # 你可以 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel API路由如何设计_Laravel构建RESTful API的路由最佳实践  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  如何实现建站之星域名转发设置?  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制  韩国服务器如何优化跨境访问实现高效连接?  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  想要更高端的建设网站,这些原则一定要坚持!  js实现获取鼠标当前的位置  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  javascript读取文本节点方法小结  Java垃圾回收器的方法和原理总结  成都网站制作公司哪家好,四川省职工服务网是做什么用?  JavaScript如何实现音频处理_Web Audio API如何工作?  Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理  Laravel事件监听器怎么写_Laravel Event和Listener使用教程  PHP正则匹配日期和时间(时间戳转换)的实例代码  Laravel如何与Inertia.js和Vue/React构建现代单页应用  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  浅谈redis在项目中的应用  Windows10电脑怎么设置虚拟光驱_Win10右键装载ISO镜像文件  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  bing浏览器学术搜索入口_bing学术文献检索地址  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  高防服务器:AI智能防御DDoS攻击与数据安全保障  HTML 中动态设置元素 name 属性的正确语法详解  北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  Laravel如何升级到最新版本?(升级指南和步骤)  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  EditPlus中的正则表达式实战(6)  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  Laravel怎么调用外部API_Laravel Http Client客户端使用  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  Zeus浏览器网页版官网入口 宙斯浏览器官网在线通道  Laravel API资源类怎么用_Laravel API Resource数据转换  个人摄影网站制作流程,摄影爱好者都去什么网站?  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  如何快速搭建支持数据库操作的智能建站平台?  Laravel如何实现API资源集合?(Resource Collection教程)  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  C语言设计一个闪闪的圣诞树  Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?