[pyar] padding en base64

Ricardo Armas rarmas en gmail.com
Lun Dic 13 12:23:48 ART 2010


A ver quien me explica esto, como conté antes estoy leyendo correos
con python. Me fueron de mucha ayuda las sugerencias acerca de como
decodificar base64. Ahora, me surgió un inconveniente que solucioné de
una manera medio cabeza, y no entiendo por qué, a ver si alguien
entiende.

si hago esto:

texto=base64.decodestring(desc + "=" * (3- (len(desc) % 3)) )

da este error
Error: Incorrect Padding

En cambio así anda:

    if (3 - (len(desc) % 3))==0:
        texto=base64.decodestring(desc)
    elif (3- (len(desc) % 3))==1:
        texto=base64.decodestring(desc + "=")
    elif (3- (len(desc) % 3))==2:
        texto=base64.decodestring(desc + "==")

Es más si hago "=" * 2 anda si hago "=" * a (donde a es una variable
que seteo en función del largo de lo que voy a decodificar) no anda.




-- 
Ricardo A. Armas



More information about the pyar mailing list