This topic created in 2548 days ago, the information mentioned may be changed or developed.
文件校验码 md5,sha1 大家知道么?我又重新发明了类似校验码。
校验码名字=买没想好。
校验码目的=为了发明,文件的唯一哈希值。
校验码字节数=8
校验码构成:
11-22-33-44
md5 的前两位 11+md5 的后两位 22+sha1 的前两位 33+sha1 的后两位 44
校验码原理:
你能碰撞(作弊,欺骗) md5,
你能碰撞(作弊,欺骗) sha1,
但你不能同时欺骗 md5+sha1。我这个是取两种简单算法,交叉验证码。
校验码优点:
这种交叉,应该比 sha512 算法更可靠。更简单。
校验码缺点:
计算需要读 2 遍字符串。
最终疑问:
8 个字节=ulong=20 位 10 进制数。
0 ---》 18446 74407 37095 51615
能区分这么多种类,够用么?
111+222+333+444=12 字节总够用了吧?
算是找抽么?;)
Supplement 1 · May 29, 2019
这个猜想被我命名为 [老童找抽猜想] 。
这个猜想目的,是想证明:
12 字节,绝不会被碰撞到。
8 字节,期待它不会被碰撞到。
碰撞,懂吗? 也就是说你要算出 2 个文件大小相同,内容不同,但哈希值相同。
23 replies • 2019-06-01 16:47:41 +08:00
 |
|
1
makdon May 28, 2019 3
但是你怎么样证明你这个校验码足够唯一?假如有两个文件: A 的 md5:1123----6677 B 的 md5:1134----5577 A 的 SHA1:aabb----yyzz B 的 SHA1:aacc----xxzz
那得到的结果都是 1177aazz 这只是个例子,的确 md5 和 sha 都有可能发生两个不同内容出来的值相同,但是你怎么证明你的这个想法中,产生冲突的可能性足够小可以用于实际应用。
|
 |
|
2
t123yh May 28, 2019 via Android
MD5 和 SHA1 在发明的时候,因为用的人比较少,都是没有碰撞方法的。后来用的人多了,才有人研究它们的碰撞方法。
你的算法,因为没人用,所以没人研究碰撞方法;但并不代表它是安全的。
|
 |
|
3
boris1993 May 28, 2019 via Android
emmmm.......这个好像得靠数学证明的吧.......
|
 |
|
4
xenme May 28, 2019
现在已经有方法对完整的 md5 和 sha1 进行碰撞攻击,只是代价太高,你这只取前后两位立马把难度降低了不知道多少数量级
|
 |
|
5
Mohanson May 28, 2019 via Android
现在部分正规下载站,会同时给出 md5 与 sha256. 搞笑的地方在于 256 的 8 次方…嗯嗯嗯,我用笔记本都能给你碰出来。 敲黑板:md5 是 16 个 byte, sha256 是 32 个 byte。md5 用正确算法碰撞在我电脑上不需要一分钟,你的这个算法,暴力遍历就可以了…
|
 |
|
6
Ultraman May 28, 2019 via Android
为啥不直接把俩拼接起来…
|
 |
|
7
mcone May 28, 2019
对,是找抽,虽然我读书不多,对哈希碰撞可以说是门都没双脚进入;但是我建议楼主多读读书,你真的是想的太多了……
才 8 字节就想“发明”,小学的抽屉原理还记得吗,理论上讲这几乎是送分题……
|
 |
|
9
mooncakejs May 28, 2019
#1 给出的你都解决不了,md5 的前 2 位 != md5
|
 |
|
10
xiri May 28, 2019
正文内容很符合楼主的标题,“庆 61 ”(:手动狗头
|
 |
|
11
AlisaDestiny May 28, 2019
你这字节数算的不对吧。 一个 hexadecimal digit 是 4bit. 11-22-33-44 是 32bit 等于 4 字节。 而且你这个相当于对数字 1 到( 2^32+1 )求哈希值就有必定会有碰撞,还不如 MD5。
|
 |
|
12
run2 May 28, 2019
你这相当于把两个自行车拼一起,看~我发明了汽车
|
 |
|
13
liuzhiyong May 28, 2019
哥们,你这样搞肯定不行。“ 8 个字节”太离谱。
|
 |
|
14
eslizn May 28, 2019
摘要算法的核心是什么?
|
 |
|
15
si May 28, 2019 1
数据是无限的,hash 是有限的。 用有限的 hash 映射无限的数据,必定会有重复的。 hash 越短、碰撞几率越多。
|
 |
|
16
Windelight May 28, 2019 via Android
你这一共 8 个,或者 12 个,也就是 36 的多少次方,最多也就是大约 4738000000000000000 个情况,然后这个实际上碰撞可能性更大 不过 61 快乐,毕竟 20 个小朋友加一个老师出去玩座 20 座车就可以了,司机和老师可以站着呀。
|
 |
|
17
ps1aniuge May 29, 2019
11 楼你好:“ 1 ”代表 1 个字节,也就是“ ff ”,这样就是 8 个字节了。
5 楼你好: 真的这么简单么? 给你一个文件, 大小我说了算,就 10mb 吧。
内容你说了算。 你随意改变这 10mb 内容,要求同时达到 md5=1111xxxx2222 sha1=3333xxxxx4444
按照我的方法 md5+sha1=1111+2222+3333+4444 总共 8 个字节, 给你 3 天,你能碰撞出来么?累死你!
碰撞,你懂吗? 也就是说你要算出 2 个文件内容不同, 但哈希值都是:1111-2222-3333-4444.这 8 个字节。
10mb 文件,哈希值是特定的( 16 进制,8 个字节) 1111222233334444,谁能算出来?
|
 |
|
18
azh7138m May 29, 2019
16 位 16 进制,也就是 [0, 18446744073709551615],换句话说,我只要枚举 [0, 18446744073709551616],就必定会重复。
说白了,就是一个 64 位数,但是现在普遍认为 SHA-256 不够安全,2 ** 256 是 2 ** 64 的 6277101735386680763835789423207666416102355444464034512896 倍,是 2 ** 96 的 1461501637330902918203684832716283019655932542976 倍。
|
 |
|
19
Jarek May 30, 2019 via iPhone
民科终于把手伸向计算机了
|
 |
|
21
1daydayde May 30, 2019 via Android
真.儿童节快乐
|
 |
|
22
pdfgo May 30, 2019 via Android
愚昧无知为耻
|
 |
|
23
rmb1222 Jun 1, 2019 via iPhone
生日攻击了解一下
|