来源:自学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