【 在 vonNeumann (劣币驱逐良币) 的大作中提到: 】
: 嗯。
: 加这个是为了增加反查难度。
: 直接存 MD5(password) 的话,因为互联网上已经积累了大量的根据 MD5 反查密码的数据,只要不是特别怪异的密码,反查不难。
: 如果存 MD5(password+salt),首先破解者需要知道你的 salt,然后需要根据密码字典重新计算 MD5,这个计算量就大了很多。
虽然结论对
但是这句话感觉顺序说反了
破解者应该是
A.先根据md5反查password+salt
B.然后通过大量的password+salt,来分析你的“salt”(盐)和“+”(加盐算法)
加盐算法一般很简单,字符串拼接之类的,很容易看出来
所以步骤B其实没有提供多少保障
主要还是因为加盐以后密码长度变长,互联网上积累反差数据可能没有你的
数据,所以难以破解
在这种情况下,即使salt泄露了,问题也不大
因为破解者基本上不可能根据salt构筑出反差词典
: 如果为每个用户用不同的盐更好,简单方案比如可以 MD5(password+salt+username)。
: 没那么夸张,MD5 还是很可靠的,至少没有已知的逆向方案,所谓破解都是根据字典暴力破解
--
FROM 60.8.123.*