你们如何在MySQL数据库中存储在线密码管理器的密码?没什么大的,只有少数用户。我不能真正地将它们或其他东西哈希,因为它是不可逆转的吗?像KeePass这样的程序如何实现这一目标?
提前致谢!
答案 0 :(得分:3)
(升级到答案)
通常用户的密码在传输给您之前使用主密码加密,密码管理器;您将存储此类加密密码并在请求时将其返回给用户:然后,他们将使用主密码在自己的计算机上解密。您没有处理主密码或未加密的密码,因此您完全无法访问存储的基础密码。
如果您的应用程序是基于Web的,您可以在Javascript中执行加密操作(尽管您应该非常警惕XSS和浏览器安全漏洞) - Stanford Javascript Crypto Library是一个很好的起点。
答案 1 :(得分:-1)
程序通常提供以下内容:
setPassword(user, password); //puts the (hashed) password into a database table associated with user
authenticate(user, password); //for given user, checks to see if password is valid
尽管如此,这个问题非常广泛,可能会被低估。你不是在问一个具体问题,也不是说你到目前为止所尝试过的。