base64 e-mails codificados e compactação

0

Enviei um e-mail que incluía quase 2500 caracteres de texto e um arquivo PNG de 60 KiB anexado. Este texto incluiu o número 185 oito vezes. No entanto, depois que o email foi codificado para base64 e enviado, eu sou capaz de encontrar apenas três seqüências de caracteres "MTg1" ("MTg1" é "185" na codificação base64) da fonte de email. Como explicar isso? De acordo com o cabeçalho do e-mail, o tipo de conteúdo é "text / plain; charset = UTF-8" e a codificação da transferência de conteúdo é "base64".

    
por Martin 09.08.2013 / 14:05

1 resposta

2

A codificação Base64 transforma 6 bytes em 8. Existem 3 codificações possíveis para qualquer texto simples, deslocadas por vários bits a cada vez (e misturadas com outro texto codificado, portanto não é trivial encontrar).

>>> '185'.encode('base64')
'MTg1\n'
>>> '\x00185'.encode('base64')
'ADE4NQ==\n'
>>> '\x00\x00185'.encode('base64')
'AAAxODU=\n'
>>> '\x00\x00\x00185'.encode('base64')
'AAAAMTg1\n'
    
por 09.08.2013 / 14:07

Tags