Как расшифровать этот код?
NzMgMzIgMTA4IDExMSAxMTggMTAxIDMyIDEyMSAxMTEgMTE3IDMyIDk3IDEwOCAxMDggNDYgMTMgMTAgNjYgMTE3IDExNiAzMiAxMjEgMTExIDExNyAzOSAxMTQgMTAxIDMyIDEwMCAxMTEgMTEwIDM5IDExNiAzMiAxMDggMTExIDExOCAxMDEgMzIgMTA5IDEwMSA0NiA0NiA0Ng==
Ответы (1 шт):
Автор решения: MarianD
→ Ссылка
import base64
coded = "NzMgMzIgMTA4IDExMSAxMTggMTAxIDMyIDEyMSAxMTEgMTE3IDMyIDk3IDEwOCAxMDggNDYgMTMgMTAgNjYgMTE3IDExNiAzMiAxMjEgMTExIDExNyAzOSAxMTQgMTAxIDMyIDEwMCAxMTEgMTEwIDM5IDExNiAzMiAxMDggMTExIDExOCAxMDEgMzIgMTA5IDEwMSA0NiA0NiA0Ng=="
decoded = base64.b64decode(coded) # b'73 32 108 111 ... 46 46 46'
numbers = decoded.split() # [b'73', b'32', b'108', ... b'46', b'46', b'46']
message = "".join(chr(int(number)) for number in numbers)
print(message)
Вывод:
I love you all. But you're don't love me...
(Между прочим, второе предложение неправильно по-английски...)
Объяснение:
Сначала был каждый символ текста закодирован для ASCII таблицы в виде десятичного числа:
- I:
73 - пробел:
32 - l:
108 - o:
111 - и т.д.
- I:
Затем были добавлены пробелы между ними:
73 32 108 111 ...Наконец был этот текст закодирован кодировкой Base64:
NzMgMzIgMTA4IDExMSAx...
Для расшифровки поступаем обратно...