this fileの60文字の文字列のうちの1つが、単一文字XORで暗号化されています。1文字のXOR暗号の検出
見つけます。
(#3からあなたのコードが役立つはずです。)
課題は、XORは暗号化され、ちんぷんかんぷんとは何かされているファイルの行を見つけることです。暗号化された1行があります。各行は60文字でなければなりません(58文字の行が1つ見つかりません)。
なんらかの理由で、私は58文字の行に59文字と最後の行につき60文字を読みます。どうしてこれなの?私はそれが新しい行の文字だと思ったが、私がline[0:-1]
を使用したとき、私は復号化に成功しなかった。ここで
が私のpythonのコードです:すべての
import binascii
def XORBreak(h):
en = binascii.unhexlify(h)
for key in range(256):
de = ''.join(chr(b^key) for b in en)
if de.isprintable():
print(de)
with open("TestFile_Challenge04_CSIS463.txt") as f:
for line in f:
XORBreak(line)
'line'に改行が含まれています。改行を削除するには 'line.rstrip(" \ n ")'を実行します。 –
本当です。ごめんなさい。私は@AnttiHaapalaのリンクを投稿しました –
ありがとうございました@ Jean-FrançoisFabre –