【 在 jackfnx (玄之又玄) 的大作中提到: 】
: 通过字典算出来的不是password也不是salt,而是password+salt
: 只不过到这一步基本上就能才出来password和salt了
你所理解的字典是所有可能字符的所有组合?
但是通常破解不是这么干的,一般说的密码字典是指常用密码的集合。也不求把所有用户都破解掉,只求破解掉弱密码用户,大多数用户的密码都是弱密码。
:
: salt诡异与否不是关键
: 因为我们算的不是salt的md5,而是password+salt的md5
: 事实上,就是你自己也没算过password+salt的md5
:
: 既然是反查,自然知道不知道salt都是无关紧要的
: 关键在于加了salt以后,串的长度太长了
: 世界上没有那么nb的字典
知道 salt 当然破解程度容易了一万倍。拿一个密码字典,把常见密码加上盐一算,不需要多少功夫,多数用户的密码就出来了。盐只要被人知道了,100 个字节也没用。
但是不知道盐的时候就没法这么干。
如果要用统一的盐,也应该用奇怪字符。假如你用 abcdefg 做盐,假设用户的密码是 password,你存的是 md5("passwordabcdefg"),很不幸,因为 passwordabcdefg 虽然长,但是它很可能也早被算过网上都有,这个 md5 值瞬间就被反向出来。但是如果你用 "\0" 做盐,你存的是 md5("password\0"),它被算过的概率就小太多太多了。
:
: 知道了salt,需要的也不是反查
: 需要的是穷举生成字典,当然实际上也是不可能的
拿所有字符的组合穷举是很低效的,能避免就要避免这种做法。拿“最可能的密码”来试才是常用的做法。
:
: 【 在 vonNeumann (劣币驱逐良币) 的大作中提到: 】
: : MD5 反查本质都是字典攻击
: : 直接 md5 密码的很多能反查,那是因为各种密码的 md5 太多人算过,结果大把现成的,只要不是太诡异的密码很多都能直接查到。但 salt 一般都是你自己的诡异的字符串,除了你自己没人算过,没法直接反查 password+salt。不知道 salt 的时候是没法通过反查把 salt 搞出来的
:
:
: --
: 顺我者昌,逆我者Facebook。
:
:
: ※ 修改:·jackfnx 于 Nov 28 19:40:28 2013 修改本文·[FROM: 60.8.123.*]
※ 修改:·vonNeumann 于 Nov 28 23:32:47 2013 修改本文·[FROM: 211.99.222.*]
: ※ 来源:·水木社区 newsmth.net·[FROM: 60.8.123.*]
--
修改:jackfnx FROM 60.8.123.*
FROM 211.99.222.*