Encryption 如何为密码管理器实现重置密码

Encryption 如何为密码管理器实现重置密码,encryption,passwords,Encryption,Passwords,如何最好地为密码管理器实现重置密码功能?我目前正在保存一个哈希+加盐的主密码,并用主密码本身对密码进行加密,但是如果用户丢失了主密码,这意味着密码无法解密 我考虑过保存一个用主密码加密的密码版本和一个用用户电子邮件加密的版本,以及用户创建帐户时生成的一些随机令牌,但是这样安全吗?这样做有什么最佳实践吗 用户的电子邮件也只能存储为散列 为了澄清我的问题,如果密码丢失,是否有恢复密码加密数据的最佳做法?安全性将降低到存储“随机令牌”的方式,我认为这根本不安全。没有最佳实践。你可以把主密码写在一张纸上

如何最好地为密码管理器实现重置密码功能?我目前正在保存一个哈希+加盐的主密码,并用主密码本身对密码进行加密,但是如果用户丢失了主密码,这意味着密码无法解密

我考虑过保存一个用主密码加密的密码版本和一个用用户电子邮件加密的版本,以及用户创建帐户时生成的一些随机令牌,但是这样安全吗?这样做有什么最佳实践吗

用户的电子邮件也只能存储为散列


为了澄清我的问题,如果密码丢失,是否有恢复密码加密数据的最佳做法?

安全性将降低到存储“随机令牌”的方式,我认为这根本不安全。没有最佳实践。你可以把主密码写在一张纸上,然后把它锁在银行的保险箱或类似的地方


更简短的是:如果不信任其他人,本地密码管理器就不可能有密码重置功能。

安全性将降低到您存储“随机令牌”的方式,我认为这根本不安全。没有最佳实践。你可以把主密码写在一张纸上,然后把它锁在银行的保险箱或类似的地方


更简短的是:如果不信任其他人,本地密码管理器就不可能有密码重置功能。

仅使用哈希函数是不够的,仅添加一个salt对提高安全性几乎没有作用。取而代之的是,在HMAC上随机添加盐,持续约100毫秒,并将盐与散列一起保存。使用诸如
PBKDF2
password\u hash
Bcrypt
等函数和类似函数。关键是要让攻击者花费大量时间通过暴力手段查找密码。@zaph我目前正在使用PBKDF2生成哈希并验证密码,但鉴于这对于用户忘记密码并不重要,我在引用中没有提到这一点。无论如何,谢谢。*问题,不引用仅仅使用哈希函数是不够的,仅仅添加一个salt对提高安全性几乎没有什么作用。取而代之的是,在HMAC上随机添加盐,持续约100毫秒,并将盐与散列一起保存。使用诸如
PBKDF2
password\u hash
Bcrypt
等函数和类似函数。关键是要让攻击者花费大量时间通过暴力手段查找密码。@zaph我目前正在使用PBKDF2生成哈希并验证密码,但鉴于这对于用户忘记密码并不重要,我在引用中没有提到这一点。无论如何,谢谢。*问题,而不是引用