У меня есть скрипт, который использует словарь для дешифрования зашифрованного сообщения, проблема в процессе дешифрования приводит к множеству ненужных символов (a.k.a non-ascii). Вот мой код:исключая символы не-ascii в python
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
' и Один Часть Эпизод Глава Пираты Arc Редактировать Объем его SLOTNAME Остров что Луффи был для с разделе World Категория Специальные Манга википедия Wiki Энциклопедия являются Японский это аниме SBS Vol страница НАЧАТЬ END Помощь Викия Синий Экипаж от пользователя Buggy Стро Портрет Гранд его Pirate Новые Шаблон Marines они не Hat Devil FLUSH TOP BOXAD навигационная панель обезьяны их Крокодил Вниз Страница Начало Шанкса имеют Shichibukai все имеет Canon Правила Викия AllPages Плодовые Зоро Бели моря имя когда Image один Usopp Battle Правительство Руководство Random' – shoomy