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