Как расшифровать этот код?

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...

(Между прочим, второе предложение неправильно по-английски...)


Объяснение:

  1. Сначала был каждый символ текста закодирован для ASCII таблицы в виде десятичного числа:

    • I: 73
    • пробел: 32
    • l: 108
    • o: 111
    • и т.д.
  2. Затем были добавлены пробелы между ними: 73 32 108 111 ...

  3. Наконец был этот текст закодирован кодировкой Base64: NzMgMzIgMTA4IDExMSAx...

Для расшифровки поступаем обратно...

→ Ссылка