Laravel 密码管理器解密密码
Posted
技术标签:
【中文标题】Laravel 密码管理器解密密码【英文标题】:Laravel Password Manager decrypt Passwords 【发布时间】:2022-01-21 12:37:07 【问题描述】:我想用 Laravel 编写一个密码管理器。但我不明白如何以字符串形式从各个页面输出密码。如果使用 Laravel 的 bcrypt 功能,则无法再次显示原文。我真的想将所有密码以散列形式存储在数据库中。任何内容都不应该是纯文本。
有没有人有经验或想法如何实现这一点?
【问题讨论】:
为什么要解密密码?使用 password_hash 和 password_verify 可以让您在不解码的情况下正确存储和检查密码。 @NigelRen 我想为其他网站(如 Gmail、Facebook 等)存储我的密码,我需要以字符串形式查看它们,以便我可以复制它们bcrypt
是一种散列算法,而不是encryption
算法。哈希被设计为一种方式。你需要使用 Laravel 中的 encryption
功能之一来做你想做的事情。
【参考方案1】:
您无法解密哈希,但您可以将“密码”加密/解密到单独的数据库列中。
// import the namespace
use Illuminate\Support\Facades\Crypt;
Crypt::encryptString('string to encrypt');
并使用解密加密字符串
// import the namespace
use Illuminate\Support\Facades\Crypt;
Crypt::decryptString('encrypted string here');
它使用来自.env
的APP_KEY
进行加密和解密。你可以阅读更多here
【讨论】:
以上是关于Laravel 密码管理器解密密码的主要内容,如果未能解决你的问题,请参考以下文章
1Password,Lastpass,Keepass,选择哪个做为密码管理器