本篇文章給大家分享一個laravel擴展:ciphersweet包,介紹一下怎么利用laravel ciphersweet 來加密/解密 laravel 中的 eloquent 模型字段,希望對大家有所幫助!
Laravel?Ciphersweet?是由?Ciphersweet?提供的一個包,用于在Laravel應用程序中集成可搜索的字段級加密。該包的? Ciphersweet? 解釋了密碼甜蜜可以幫助解決的問題,如下所示:
在你的項目中,你可能會將敏感的個人數據存儲在數據庫中。如果未經授權的人訪問你的數據庫,則所有敏感數據都可以讀取,這顯然是不好的。要解決此問題,你可以對個人數據進行加密。這樣,未經授權的人無法讀取它,但當你需要顯示或使用數據時,你的應用程序仍然可以解密它。
這個包是?Ciphersweet?的包裝器,可以輕松地將其功能集成到 Laravel 模型中。以下是自述文? Ciphersweet ?中的模型示例,該示例說明了使用 Ciphersweet 模型的外
use SpatieLaravelCipherSweetContractsCipherSweetEncrypted; use SpatieLaravelCipherSweetConcernsUsesCipherSweet; use ParagonIECipherSweetEncryptedRow; use IlluminateDatabaseEloquentModel; 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 的更多信息,其中包含許多鏈接資源
CipherSweet 還具有 Ciphersweet 可幫助您快速了解底層 php 包。
我還建議閱讀 Rias 的帖子,Ciphersweet。
要開始使用這個包,請在 github 上的 Ciphersweet 上查看它。
本文中的所有譯文僅用于學習和交流目的,轉載請務必注明文章譯者、出處、和本文鏈接
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?我們的翻譯工作遵照 Ciphersweet,如果我們的工作有侵犯到您的權益,請及時聯系我們。
原文地址:Ciphersweet
譯文地址:Ciphersweet