我有一個使用字典解密加密消息的腳本,問題是解密過程產生大量垃圾(a.k.a非ascii)字符。這裏是我的代碼:排除python中的非ASCII字符
from Crypto.Cipher import AES
import base64
import os
BLOCK_SIZE = 32
PADDING = '{'
# Encrypted text to decrypt
encrypted = "WI4wBGwWWNcxEovAe3p+GrpK1GRRQcwckVXypYlvdHs="
DecodeAES = lambda c, e: c.decrypt(base64.b64decode(e)).rstrip(PADDING)
adib = open('words.txt')
for line in adib.readlines():
secret = line.rstrip('\n')
if (secret[-1:] == "\n"):
print "Error, new line character at the end of the string. This will not match!"
elif (len(secret) >= 32):
print "Error, string too long. Must be less than 32 characters."
else:
# create a cipher object using the secret
cipher = AES.new(secret + (BLOCK_SIZE - len(secret) % BLOCK_SIZE) * PADDING)
# decode the encoded string
decoded = DecodeAES(cipher, encrypted)
print decoded+"\n"
什麼,我已經想到了迄今爲止被轉換decoded
字符串轉換爲ASCII然後排除非ASCII字符,但沒有奏效。
你能準確的一個「words.txt」文件內容例如請 –
它包含了常用詞,但這裏有一些話 – shoomy
'的 和 一個 一塊 集 章 盜 弧 的 編輯 卷 他 插槽名 島 是 路飛 是 爲 與 部分 世界 類別 特別 漫畫 維基 維基 百科全書 是 日本 這 動漫 SBS 卷 頁 BEGIN END幫助 維基 藍 船員 從 用戶 巴吉 秸稈 肖像 大 他 海盜 新 模板 海軍陸戰隊 他們 不 帽子 魔鬼 FLUSH TOP BOXAD Navibox 猴 他們 鱷魚 Down 頁面 開始 小腿 有 Shichibukai 所有 有 佳能 規則 維基 所有頁 水果 佐羅 貝利 海 名 時 圖片 一個 烏索普 戰 政府 準則 Random' – shoomy