首页 > php框架 > Laravel > 正文

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

青灯夜游
发布: 2022-12-23 19:39:43
转载
1330人浏览过

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

Laravel

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');
登录后复制

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

豆包AI编程
豆包AI编程

豆包推出的AI编程助手

豆包AI编程 483
查看详情 豆包AI编程

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

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

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

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

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

原文地址:Spatie1

译文地址:Spatie2

以上就是Laravel扩展推荐:Ciphersweet包(加密/解密字段)的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:learnku网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号