研究了几天,没发现这段密文的加密方式,有大神指点下吗

2018-06-01 08:52:14 +08:00
 mx3y

密文一:cfcfbd0fe9bffe30f4fd14e12305ef58

密文二:7e2963add0b556e89b2a5c5e7be6cd9c

密文三:5fc16f6f83c0b4e3f64310452a134cc6

密文四:52c24d58d4c2cc39a783efdf43a6ee4f

密文五:8f29d083754bcfacce0e5848de77a145

4056 次点击
所在节点    算法
24 条回复
liuxey
2018-06-01 08:58:51 +08:00
这难道不是标准的 MD5 hash 吗?
zn
2018-06-01 08:58:55 +08:00
你大概是对加密有什么误解。
silhouette
2018-06-01 09:04:05 +08:00
这是哈希吧#滑稽
TtiGeR
2018-06-01 09:07:57 +08:00
32 个字符 0-9 a-f 共 128 位

高度疑似 SHA-1
TtiGeR
2018-06-01 09:09:22 +08:00
想打 MD5 的 手指和大脑不搭

SHA-1 是 160 位的 ( 40 个字符)
mx3y
2018-06-01 09:10:38 +08:00
@liuxey @silhouette @zn 不是误解,是一窍不通啊。。
662457 对应 cfcfbd0fe9bffe30f4fd14e12305ef58
662271 对应 7e2963add0b556e89b2a5c5e7be6cd9c
660360 对应 660360_5fc16f6f83c0b4e3f64310452a134cc6
661948 对应 52c24d58d4c2cc39a783efdf43a6ee4f
662365 对应 8f29d083754bcfacce0e5848de77a145
我按这个套路怎么都解不出来。。
nfroot
2018-06-01 09:17:02 +08:00
@mx3y 你这个是摘要算法,不是加密算法,所以不存在“解”。

简单来说,你只知道答案是 1,却不知道是 5-4 还是 6-5 还是 2-1.

只有加密算法,才存在解密。
lululau
2018-06-01 09:18:04 +08:00
md5/aha 摘要出来完全是一串 0-9a-z 的 ascii 这个太巧了吧,得 tohexstr 一下吧,说到 tohexstr,任意 16 个字节的数据 tohexstr 都是这个模样啊,楼上几位是不是对 16 进制有什么误解?还是对字符串有什么误解?
nfroot
2018-06-01 09:24:56 +08:00
@mx3y 摘要算法就相当于 X-Y=1,X 和 Y 有无数种组合,形成最终的答案,所以只通过结果无法得出原本的内容。

加密算法相当于 X-1=1,X 只存在一种可能,所以可以解密,可以还原。

但是任何成熟的加密算法(特别是现在这么多成熟的算法,一般人没必要自己写),在不知道过程的情况下,解密根本无从谈起
hand515
2018-06-01 09:26:58 +08:00
感觉是加盐后的 md5
nfroot
2018-06-01 09:29:19 +08:00
@lululau tohexstr 是我对你的回复有误解,还是你对 MD5(及同类算法)有误解?
lululau
2018-06-01 09:31:10 +08:00
@nfroot 是你对摘要有误解
1024MB
2018-06-01 09:31:19 +08:00
md5
liuxey
2018-06-01 09:39:26 +08:00
@mx3y 你解不出来是因为在 hash 的时候加了盐,比如 md5(fn(662457)) = cfcfbd0fe9bffe30f4fd14e12305ef58,除非你知道 fn 的处理逻辑,就能一一列举,当然就算你知道 fn 的处理逻辑,你也不可能反向解出来,只能正向求值,原因楼上说了
nfroot
2018-06-01 09:45:53 +08:00
@lululau 能举例吗?因为我实在不怎么理解你的意思,我先举例吧

MD5 算法处理字符串 123 得出
202cb962ac59075b964b07152d234b70
处理 1234 得出
81dc9bdb52d04dc20036dbd8313ed055

SHA1 算法处理字符串 123 得出
40bd001563085fc35165329ea1ff5c5ecbdbbeef
处理 1234 得出
7110eda4d09e062aa5e4a390b0a572ac0d2c0220

你说的 tohexstr 处理 123 后是不是得出 313233 ? 1234 是不是得出 31323334 ?
aricch
2018-06-01 09:54:44 +08:00
是桌面程序 就逆向吧,我们一般都这样处理,想黑盒破解,很少成功。
lululau
2018-06-01 10:09:10 +08:00
@nfroot 我说的是两个意思:

1. 不是 16 进制字符串就一定是某种摘要结果,这是大写英文字母 A-P 共 16 个字母组成的 16 个字节大小的 ASCII 字符串,toHexString() 后的结果:echo "${$(echo -n "${$(echo {A..P})// /}" | od -An -tx1)// /}",如果你熟悉 MD5/SHA,知道他们的结果是有一定特征的,可以根据这些可能存在的特征断定这是某种摘要算法摘要后的结果;不然是怎么断定这就是某种摘要结果的呢?
2. 摘要的结果一般是字节序列的形式,你看到 0-9a-f 是 toHexString() 后的结果,如果你纳闷自己并没有调名字类似 tohexstring 的方法 /函数,那么你调的方法 /函数很有可能是叫 hex_digest 之类的。。。
nfroot
2018-06-01 10:33:22 +08:00
@lululau 我只认为是摘要算法,但是并没有认定是 MD5 或者某一种算法,毕竟加盐和伪装一下长度是很容易的事情。
Shura
2018-06-01 11:02:35 +08:00
hash(m + salt)而已。哈希算法不是加密算法,如果不考虑彩虹表,哈希算法理论上就是不可逆的。
lance6716
2018-06-01 12:38:40 +08:00
感觉这几年 V 站用户水平下滑的很厉害…

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

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

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

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

© 2021 V2EX