【原创】pythonchalleng——第8题

        第八题的网址: http://www.pythonchallenge.com/pc/def/integrity.html ,网站截图如下:

2011-07-29_102703

这道题的提示信息是“Where is the missing link?”。简单查看了一下,发现这个蜜蜂是可以响应点击事件的。我们尝试了一下,会弹出一个对话框,提示我们输入用户名和密码。但是这些信息又在哪里呢?同往常一样,查看网页源代码,看看会有什么。找到的信息如下:

<!--
un: 'BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe1BA\x06\xbe\x084'
pw: 'BZh91AY&SY\x94$|\x0e\x00\x00\x00\x81\x00\x03$ \x00!\x9ah3M\x13<]\xc9\x14\xe1BBP\x91\xf08'
-->

这不就是传说中的用户名和密码嘛,不过好像经过处理了。但是我们可以从中找到一些蛛丝马迹。例如它们都是以“BZh91AY&SY”开头。这个问题就不会了,于是百度一下,发现这个帖子《聊聊Pyhon的encodings》。其中提到使用bz2编码后得到的字符串就是以“BZh91AY&SY”开头的。

bz2,zlib编码则分别使用bz2,zlib两种压缩算法对字符串进行压缩与解压缩:
>>> (”f”*1024*1024).encode(”bz2″)
‘BZh91AY&SY\x99C\xc0+\x00\x08\nA\x00\x80\x04\x01\x00\x00\x08 \x000\xcc\x05I\xeaq\x06\x01@`\x1e.\xe4\x8ap\xa1!2\x87\x80V’
>>> print len(’BZh91AY&SY\x99C\xc0+\x00\x08\nA\x00\x80\x04\x01\x00\x00\x08 \x000\xcc\x05I\xeaq\x06\x01@`\x1e.\xe4\x8ap\xa1!2\x87\x80V’.decode(”bz2″))
1048576

好了,现在大家该知道下一步怎么办了吧。奉上代码:

''' 
Created on 2011-7-29 
@author: hengha 
''' 
def bz2decode(str): 
    return str.decode("bz2") 
if __name__ == '__main__': 
    un='BZh91AY&SYA\xaf\x82\r\x00\x00\x01\x01\x80\x02\xc0\x02\x00 \x00!\x9ah3M\x07<]\xc9\x14\xe1BA\x06\xbe\x084' 
    pw='BZh91AY&SY\x94$|\x0e\x00\x00\x00\x81\x00\x03$ \x00!\x9ah3M\x13<]\xc9\x14\xe1BBP\x91\xf08' 
    print bz2decode(un) 
    print bz2decode(pw)

现在看看我们会得到什么结果:

huge 
file

嗯,把得到的用户名密码填一下,试一试。哈哈,顺利进入第9题,网址是http://www.pythonchallenge.com/pc/return/good.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值