- 主题:MD5不需要密匙?
谢谢~
【 在 vonNeumann (劣币驱逐良币) 的大作中提到: 】
: 标 题: Re: MD5不需要密匙?
: 发信站: 水木社区 (Wed Nov 27 18:02:35 2013), 站内
:
:
: 【 在 SlANmASTer (渴望美女青睐 之 我爱工科女) 的大作中提到: 】
: : 你们说的盐,就是用来延长的字符串吧
: 嗯。
: 加这个是为了增加反查难度。
: 直接存 MD5(password) 的话,因为互联网上已经积累了大量的根据 MD5 反查密码的数据,只要不是特别怪异的密码,反查不难。
: 如果存 MD5(password+salt),首先破解者需要知道你的 salt,然后需要根据密码字典重新计算 MD5,这个计算量就大了很多。
:
: 如果为每个用户用不同的盐更好,简单方案比如可以 MD5(password+salt+username)。
:
: : 如果加不同字符串来延长的话,就相当于自己有个字典吧
: : 盐也好字典也好,都是放在iis服务器目录下,一旦服务器被攻破,会很惨啊,有其他
: : 放数据库和盐的方法吗,一直为这点很不放心
: 没那么夸张,MD5 还是很可靠的,至少没有已知的逆向方案,所谓破解都是根据字典暴力破解
:
: : ...................
:
: --
:
: md5(my ID + my password) = "fcafe6d3dd038844d1f1b891373d116e"
: sha1(my ID + my password) = "aa94dc9f0418baf77126286f217e930ae16c0047"
: sha256(my ID + my password) =
: "f3611a560a697a2fd4700c4738d85f925f2885c82dd5b8c1d7355561490605d8"
:
:
: ※ 修改:·vonNeumann 于 Nov 27 18:31:47 2013 修改本文·[FROM: 211.99.222.*]
: ※ 来源:·水木社区 newsmth.net·[FROM: 211.99.222.*]
--
修改:vonNeumann FROM 211.99.222.*
FROM 211.99.222.*
【 在 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.*
太深奥了,看样子基本就靠长度吃饭了
话说,md5加密结果是不是一个定长字符串?那么,任意信息经算法处理之后都对应一个md5字符串,定长的话组合是有限的,但信息是任意无穷多,好像有点矛盾啊,或者是多个信息会对应一个md5加密结果?
ps,cmd5这个站点有点可怕啊,昨天看这家说已经达到160t了
数据量宇宙第一的MD5查询网站,实时查询记录超过4.8万亿条,其中95%以上全球独
有,共占用50T硬盘,所有硬盘重量超过50斤!已包含11位及11位以下数字、7-8位小
写字母加数字、6位大小写字母加数字等组合、以及大量其它数据(最长达20位)。
实时查询拥有全世界最大的数据库,实测破解成功率在80%-90%以上,有的客户已经
超过了95%。
实时查询支持批量破解,本站提供专门程序自助破解。请点击导航栏“批量破解”进
入下载。
MD5
收录内容 说明 数量
1-6位大小写字母+数字+特殊字符 收录100% 大于 1400亿
7位小写字母+数字 收录100% 大于 783亿
8位小写字母 收录100% 大于 2082亿
8位小写字母+数字 已收录50%,正在添加 大于14000亿
8-11位数字 收录100% 大于 1000亿
1-15位其它数据 部分收录 大于28000亿
1-20位 900G独家超大字典 大于 910亿
<!--
2、SHA-1和MD5二次加密
收录内容 说明 数量
1-6位大小写字母+数字+特殊字符 收录100% 大于 1400亿
7位小写字母+数字 收录100% 大于 783亿
8位小写字母 收录100% 大于 2082亿
8-10位数字 收录100% 大于 100亿
1-15位其它数据 部分收录 大于 2000亿
1-20位 200G独家超大字典 大于 210亿
【 在 jackfnx (玄之又玄) 的大作中提到: 】
: 标 题: Re: MD5不需要密匙?
: 发信站: 水木社区 (Wed Nov 27 20:43:16 2013), 站内
:
:
: 【 在 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 还是很可靠的,至少没有已知的逆向方案,所谓破解都是根据字典暴力破解
:
:
: --
: 顺我者昌,逆我者Facebook。
:
:
: ※ 来源:·水木社区 newsmth.net·[FROM: 60.8.123.*]
--
FROM 211.99.222.*
【 在 SlANmASTer (渴望美女青睐 之 我爱工科女) 的大作中提到: 】
: 太深奥了,看样子基本就靠长度吃饭了
: 话说,md5加密结果是不是一个定长字符串?那么,任意信息经算法处理之后都对应一个md5字符串,定长的话组合是有限的,但信息是任意无穷多,好像有点矛盾啊,或者是多个信息会对应一个md5加密结果?
有可能有两个输入产生同一个md5的情况
不过md5的算法比较好,所以能够保证至少对于比较小的输入
这种情况很少见
要是真遇到了,那就自认倒霉了
: ps,cmd5这个站点有点可怕啊,昨天看这家说已经达到160t了
: ...................
--
FROM 60.8.123.*
MD5 反查本质都是字典攻击
直接 md5 密码的很多能反查,那是因为各种密码的 md5 太多人算过,结果大把现成的,只要不是太诡异的密码很多都能直接查到。但 salt 一般都是你自己的诡异的字符串,除了你自己没人算过,没法直接反查 password+salt。不知道 salt 的时候是没法通过反查把 salt 搞出来的,知道 salt 了也要拿着密码字典重新算。
【 在 jackfnx (玄之又玄) 的大作中提到: 】
: 虽然结论对
: 但是这句话感觉顺序说反了
: 破解者应该是
: ...................
--
修改:vonNeumann FROM 211.99.222.*
FROM 211.99.222.*
通过字典算出来的不是password也不是salt,而是password+salt
只不过到这一步基本上就能才出来password和salt了
salt诡异与否不是关键
因为我们算的不是salt的md5,而是password+salt的md5
事实上,就是你自己也没算过password+salt的md5
既然是反查,自然知道不知道salt都是无关紧要的
关键在于加了salt以后,串的长度太长了
世界上没有那么nb的字典
知道了salt,需要的也不是反查
需要的是穷举生成字典,当然实际上也是不可能的
【 在 vonNeumann (劣币驱逐良币) 的大作中提到: 】
: MD5 反查本质都是字典攻击
: 直接 md5 密码的很多能反查,那是因为各种密码的 md5 太多人算过,结果大把现成的,只要不是太诡异的密码很多都能直接查到。但 salt 一般都是你自己的诡异的字符串,除了你自己没人算过,没法直接反查 password+salt。不知道 salt 的时候是没法通过反查把 salt 搞出来的
--
修改:jackfnx FROM 60.8.123.*
FROM 60.8.123.*
pwd+salt这得多少位才能令反查时间长的无法等待?
机器越来越牛的话md5是不是趋弱的趋势?
火车票二维码应该有salt
【 在 jackfnx (玄之又玄) 的大作中提到: 】
: 标 题: Re: MD5不需要密匙?
: 发信站: 水木社区 (Thu Nov 28 19:39:36 2013), 站内
:
: 通过字典算出来的不是password也不是salt,而是password+salt
: 只不过到这一步基本上就能才出来password和salt了
:
: salt诡异与否不是关键
: 因为我们算的不是salt的md5,而是password+salt的md5
: 事实上,就是你自己也没算过password+salt的md5
:
: 既然是反查,自然知道不知道salt都是无关紧要的
: 关键在于加了salt以后,串的长度太长了
: 世界上没有那么nb的字典
:
: 知道了salt,需要的也不是反查
: 需要的是穷举生成字典,当然实际上也是不可能的
:
: 【 在 vonNeumann (劣币驱逐良币) 的大作中提到: 】
: : MD5 反查本质都是字典攻击
: : 直接 md5 密码的很多能反查,那是因为各种密码的 md5 太多人算过,结果大把现成的,只要不是太诡异的密码很多都能直接查到。但 salt 一般都是你自己的诡异的字符串,除了你自己没人算过,没法直接反查 password+salt。不知道 salt 的时候是没法通过反查把 salt 搞出来的
:
:
: --
: 顺我者昌,逆我者Facebook。
:
:
: ※ 修改:·jackfnx 于 Nov 28 19:40:28 2013 修改本文·[FROM: 60.8.123.*]
: ※ 来源:·水木社区 newsmth.net·[FROM: 60.8.123.*]
--
修改:jackfnx FROM 60.8.123.*
FROM 211.99.222.*
前面不是说了吗,那个最牛的网站已经有了11~12的数字,7~8的英文字母
你的salt直接比这个长度长应该就安全了
【 在 SlANmASTer (渴望美女青睐 之 我爱工科女) 的大作中提到: 】
: pwd+salt这得多少位才能令反查时间长的无法等待?
: 机器越来越牛的话md5是不是趋弱的趋势?
: 火车票二维码应该有salt
: ...................
--
FROM 60.8.123.*
直接存 md5(password) 的地方多了去了,以前很多这么做的。相比存明文也是很大进步了。也就近些年安全事件出得多了,普遍安全意识强了些,才普遍意识到 md5(password) 也不安全,至少要加盐。反查对这种是最有效的,基本上把 md5 拿网上一搜就有结果,都不用自己算一遍。
相比来说,哪怕是很简单地加一个盐,比如用一个 '\0' 或者用一个标点字符做盐,被直接反查出的概率也低了若干个数量级。就算知道盐了,要字典破解,也要重新算 md5,当然安全多了。虽然比不上每个用户用不同盐的安全程度。
【 在 jackfnx (玄之又玄) 的大作中提到: 】
: 通过字典算出来的不是password也不是salt,而是password+salt
: 只不过到这一步基本上就能才出来password和salt了
: salt诡异与否不是关键
: ...................
--
修改:vonNeumann FROM 211.99.222.*
FROM 211.99.222.*
【 在 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.*