灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3426回复:0

45位md5变异加密及解密过程

楼主#
更多 发布于:2012-08-24 20:02

作者:小波
昨天 猴子让人丢了个单子过来 我做。。。


站是拿下了!可是boss让咱拿数据。。。没办法只能继续往下搞咯。。。


经过漫长的翻阅7大数据库几百个表我就不说了,你可以幻想一下从02到2011年的数据库是啥样子的


可是 悲剧发生了出现了45位md5,咱技术不够啊。不能一下子口算出来。。。


群里问了 几个大牛 皇子哥说:前32位后16或者前16后16...可是试了不对。。。



加密值:8f0c105f09808f0a70bc0c70100770a00730300e00150

从加密的角度来看是16位进制数也就是0123456789abcdef判断是md5加密过后又进行变异的md5



不然就是sh1加密了!不过一般在windows iis asp、aspx下我还没见过sh1加密的网站。所以就大胆猜测是

md5

假设这45位是md5加密值那他是32位还是16位的方式加密呢?

我们来拆开来口算一下,大家可能发现45位的异常每隔2位就有一个0

原值:8f0c105f09808f0a70bc0c70100770a00730300e00150
裂开:
8f0
c10
5f0
980
8f0
a70
bc0
c70
100
770
a00
730
300
e00
150
去掉0后是30位而md5是16位或32位、这时候就郁闷了吧?

不要急 我们在仔细来看,8f看到了没

8f ------>这里
c1
5f
98
8f ------>这里 重复了,如果我们去掉第二个8f以上的数字字母呢?
a7
bc
c7
10
77
a0
73
30
e0
15 ------------>变成22位了,不对,继续往下看
-----------------------------------------------------------------------------------
8f 0 c1 0 ---------->每隔
5f 0 98 0
8f 0 a7 0
bc 0 c7 0
10 0 77 0
a0 0 73 0
30 0 e0 0
15 0     ----------->再往下看
------------------------------------------------------------------------------------
这样看比较清楚一些.
45 减 前12位 减 后10位 等?
23位再去掉里面的0
8f0c105f0980
8f0a70bc0c70100770a0073
0300e00150
每隔2位去掉0
8f0a70bc0c70100770a0073
8f a7 bc c7(注意c7后面0100遇到这样结束后多出2个0的一律去掉后面的两个0)0100770a0073
最后得到的16位md5值.
8fa7bcc70177a073 明文(820901)

123456 的md5值如下 ↓

45位加密:e10a00dc0390490ba0590ab0be0560e00570f20f00880

32位:e1 0a    dc   39   49   ba   59   ab   be   56  e0    57   f2 0f    88 3e
45位:e1 0a 00 dc 0 39 0 49 0 ba 0 59 0 ab 0 be 0 560 e0  0 57 0 f2 0f 00 88 0
16位:                   49   ba   59   ab   be   56  e0    57

e10a00dc0390 490ba0590ab0be0560e0057  0f20f00880
---------------------------------------------------------------------------------------
明白了吧?可能大家还对c701有点迷糊,不过这是写加密那鸟人规定的如果XXX7601我无法再76后面写入0了,所以 我就从01后面多出一个0来...大概就是这个意思了!。。。小弟技术还不到家,只能分析到
这里了,希望 大大们 不要笑话!

---------------------------------------------------------------------------------------------

new4分析如下:
思路应该是45还原成32位字串在取9-16位吧。

e10a00dc0390490ba0590ab0be0560e00570f20f00880
e10adc3949ba59abbe56e057f20f883e
49ba59abbe56e057

从13位开始取24位字符
Copy(str,13,24)
490ba0590ab0be0560e00570
然后
去掉每三位的"0”字符即可!
490
ba0
590
ab0
be0
560
e00
570
即可获得:49ba59abbe56e057 16 md5

喜欢0 评分0
游客

返回顶部