网站地图    收藏   

主页 > 后端 > 网站安全 >

45位md5变异加密及解密过程 - 网站安全 - 自学ph

来源:自学PHP网    时间:2015-04-17 13:03 作者: 阅读:

[导读] 作者:小波昨天 猴子让人丢了个单子过来 我做。。。站是拿下了!可是boss让咱拿数据。。。没办法只能继续往下搞咯。。。经过漫长的翻阅7大数据库几百个表我就不说了,你可以幻想一...

作者:小波
昨天 猴子让人丢了个单子过来 我做。。。
 
 
站是拿下了!可是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

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论