Underc0de

Programación Scripting => Python => Mensaje iniciado por: Dedalo en Septiembre 13, 2014, 11:25:15 AM

Título: Base64 encode
Publicado por: Dedalo en Septiembre 13, 2014, 11:25:15 AM
Bueno, hace tiempo no compartía algo aquí pero pienso que compartir este código los puede ayudar. Todos hemos usado alguna vez base64 encode pero ¿qué hay detrás de la función?...

Código (python) [Seleccionar]
#!/usr/bin/python

def base64encode(encode):
s = encode
keys = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
out = ""
nums = 0
i = 0
while (i<len(s)):
if nums == 6:
out += keys[ord(s[i - 1]) & 63]
out += keys[ord(s[i]) >> 2]
nums = 2
else:
chr1 = ord(s[i - 1]) & (2 ** nums - 1)
chr2 = ord(s[i]) >> (nums + 2)
chrt = (chr1 << (6 - nums)) | chr2
out += keys[chrt]
nums += 2
i = i + 1
if nums != 0:
out += keys[(ord(s[len(s) - 1]) & (2 ** nums - 1)) << (6 - nums)]

return out

print base64encode("Base64 This")



Link del post en mi blog (http://blog.dedalo.in/post/2014/08/28/Base64-Encode)

Link del script en github (https://github.com/Dedal0/crypto/blob/master/base64encode.py)


Saludos,
Dedalo.
Título: Re:Base64 encode
Publicado por: Once en Septiembre 13, 2014, 12:48:27 PM
Muy bueno bro, primer vez que veo un Base64 usando operaciones binarias.

Saludos!
Título: Re:Base64 encode
Publicado por: arthusu en Septiembre 16, 2014, 08:28:40 PM
Muy bueno! +1