本篇文章给大家分享一个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', '[email protected]');
登录后复制
此包还有助于生成加密密钥和加密模型属性,以加快与密码的集成。
我想指出的是,你不应该在不了解你试图解决的用例的来龙去脉的情况下盲目地使用这个包。你可以在 此页面 上了解有关 CipherSweet 的更多信息,其中包含许多链接资源
CipherSweet 还具有 PHP 特定文档 可帮助您快速了解底层 PHP 包。
我还建议阅读 Rias 的帖子,使用 CipherSweet 加密 Laravel Eloquent 模型。
要开始使用这个包,请在 GitHub 上的 spatie/laravel-ciphersweet 上查看它。
以上就是Laravel扩展推荐:Ciphersweet包(加密/解密字段)的详细内容,更多请关注Work网其它相关文章!