私の大学の残りの1年半の生活(九)--pythonchallengeのlevel 8


python challenge level 8 url: http://www.pythonchallenge.com/pc/def/integrity.html
level 8のテーマは本当に私を困らせて、どうしてその図の上の動物はミツバチと呼ばれますか?ハエと呼ぶべきだと思います!!!信じないならgoogleで「fly」の画像を検索します.これは絶対にハエですよ~~~まあ、この問題は葛藤しません.この問題は実は私が自分で作ったものではありません.ネットで情報を検索したいときはこの問題の答えばかりですから.のこの問題は私が作ったものではありませんが、この問題を分析してもいいです.
まず、このページのヒントは私たちにページにリンクがあることを教えてくれましたが、そこにあることを知りませんでした.そこで、私はページのソースコードを開けて、ラベルを見つけました.これがこの問題のリンクです.このリンクの位置はいわゆるミツバチの翼の近くにあり、クリックするとパスワードとユーザー名の入力を促すダイアログボックスがあり、「The site says:“inflate”」という言葉もあります.再びソースコードに戻ると、コードの一番下にユーザー名(un)とパスワード(pw)が与えられたコメントがあります.しかし、これらの情報は元の文字列ではなく、処理された文字列であり、変換符号化または暗号化された文字列である可能性が高い.最初はunicodeの符号化方式を使っていると思っていましたが、後で間違っていることに気づきました.これはunicodeの符号化方式ではありません.この2つの文字列の先頭に奇妙な文字列があります.そこで、この文字列を検索して、この文字列に特別な意味があるかどうかを見たいと思っていました.最后に検索した结果、すべてこの问题の解答でした..
この奇妙な文字列は実はbzip 2圧縮フォーマットの先頭(他のblogではgoogleが言っていますが、私が見つけたのはこれらのblogだけです)なので、pythonのbz 2モジュールを使ってこの2つの文字列を解凍すればいいだけです.
#! /usr/bin/env python
'''python challenge level 8
question url: http://www.pythonchallenge.com/pc/def/integrity.html
answer url: http://www.pythonchallenge.com/pcc/return/good.html:huge:file
'''
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'

import  bz2
print "user name:", bz2.decompress(un)
print "password:", bz2.decompress(pw)

これによりuser name:huge,password:fileの2つの出力が得られる.「ミツバチ」の翼をクリックすると、対応する情報を入力して次の問題に行けます.次のリンクは次のとおりです.http://www.pythonchallenge.com/pc/return/good.html
答えのリンクは次のとおりです.http://www.pythonchallenge.com/pcc/return/good.htmlあ、答えの解答を参考にしてみてください.