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?...
#!/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.
Muy bueno bro, primer vez que veo un Base64 usando operaciones binarias.
Saludos!
Muy bueno! +1