【发布时间】:2012-12-09 10:20:51
【问题描述】:
我猜由于新技术(CPU更强大,GPU...),用于加密密码的算法逐年变弱,
所以;这是否意味着 2006 年注册的用户受到的保护不如 2012 年注册的用户?
然后;如何更新该用户2006年的密码? (例如雅虎,如果我从 2006 年开始注册,那么我的密码破解时间比我在 2012 年输入的密码要短,那么雅虎将如何将我的密码更新到新的强大系统?)
换句话说:如何从一个系统迁移到另一个系统(例如对于现有的 MD5 哈希密码从 MD5 迁移到 Bcrypt)
【问题讨论】:
-
StackOverflow 是错误的地方。问题可能是 2006 年的密码比最近的密码弱,只是因为它更短。您可以将所有密码更改为 >12 个字符的长度,其中包含一些非字母字符。
-
你不转换它。您要求您的用户更改密码(或更改您自己的密码),使用新的实现。如果它很容易兑换,那首先就意味着它非常不安全。
-
为什么不在 MD5 哈希上运行 BCrypt?因此,不是存储 MD5(salt | password),而是存储 BCrypt(MD5(salt | password))。更新密码将是一次性操作。编辑:@AbdelouahabPp - 这些密码是用于生成加密密钥,还是用于登录?
-
否 --- 您也将所有 FUTURE 密码存储为 BCrypt(MD5(salt | password)。然后只需检查此值。