怎么样的两个串, MD5 值的前几位是一致的, 这个有规律吗?

2019-08-01 15:25:02 +08:00
 vexplain
4397 次点击
所在节点    程序员
18 条回复
yccdix
2019-08-01 16:34:37 +08:00
挖矿
OakScript
2019-08-01 16:44:50 +08:00
要做碰撞?机器都堆好了吗?
Shura
2019-08-01 16:50:01 +08:00
没有规律,因为哈希算法需要满足雪崩效应,即输入发生最微小的改变时,也会导致输出的不可区分性改变。
https://zh.wikipedia.org/wiki/%E9%9B%AA%E5%B4%A9%E6%95%88%E5%BA%94
oasislee
2019-08-01 16:51:08 +08:00
如果机器够多 时间够多 有没有规律都无所谓哈哈哈
annoy1309
2019-08-01 16:51:53 +08:00
md5 碰撞现在已经不需要堆机器了,如果单纯只需要碰撞,印象中单机时间已经压到 10 分钟内了
md5 前缀碰撞印象中现在单机时间也是个位数小时的时间(小文件)
现在 md5 已经不适合作为校验完整性的算法了,因为大量的高效率碰撞算法的流出
geelaw
2019-08-01 16:57:05 +08:00
请参考 2005 年的著名文章《如何破解 MD5 和其他 hash 函数》,王小云、于洪波著

https://link.springer.com/chapter/10.1007%2F11426639_2
annielong
2019-08-01 17:26:48 +08:00
这就是为什么抛弃 MD5 的原因了,
vexplain
2019-08-01 18:00:40 +08:00
@Shura #3
@geelaw #6
谢谢 大佬. 我也觉得没啥规律. 我是因为将对方传过来的文件, 按照下载链接做了 md5 做文件路径存储, 同事拿 md5 前两位, 做了一层文件夹, 说是名称类似的会存到相同的文件夹下, 我就很纳闷, 哈哈哈
smallpython
2019-08-01 18:19:24 +08:00
MD5 已经被抛弃了吗
我还在用...........
ShundL
2019-08-01 18:26:06 +08:00
@vexplain 他可能只是描述有问题,他是说 md5 的前两位相同的会存到同一目录。。。
bkmi
2019-08-01 18:51:03 +08:00
@vexplain 或许你同事描述的不对,但是他的做法是对的,很常规的做法,将文件分散到不同的目录去,可以有效的提升文件系统效率。
rizon
2019-08-01 18:57:44 +08:00
@bkmi #11 为啥,这种分目录的方式有什么好处吗?
honeycomb
2019-08-01 19:03:55 +08:00
可以考虑用 sha2/sha3 来避免碰撞
bkmi
2019-08-01 19:09:23 +08:00
akira
2019-08-01 21:07:22 +08:00
@vexplain 说法虽然不正确,但是做法没问题,很常见。
rizon
2019-08-02 00:21:53 +08:00
@bkmi #14 thx~
msg7086
2019-08-02 06:25:54 +08:00
@rizon #12 常用的文件系统效率太低,没有为单目录多文件优化所致。
Reiser 系文件系统对大目录有优化,所以文件多点也不会显著影响性能。
可惜这产品已经快凉透了……
julyclyde
2019-08-02 12:11:22 +08:00
如果有规律,说明算法设计有问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/588223

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX