As codificações em base são usadas para guardar ou transferir dados que são restritos do US-ASCII (caracteres baseados no alfabeto inglês - códigos de 0 à 31, 127 em decimal não podem ser impressos).
- Usando o Rot13:
Do inglês "ROTate by 13 places", como o próprio nome já diz ele anda 13 posições da letra. Ele pega a primeira metade das letras do alfabeto e troca pela segunda metade. Então, A torna se N, B vira O, e assim em diante, e na conversão o N torna se A, o B torna O, etc.
É bastante utilizado para proteger emails. É tão seguro que a Microsoft usava ele para guardar informações sobre seus programas na chave de registro:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{75048700-EF1F-11D0-9888-006097DEACF9}\Count
O valor dessa chave está em rot13. Porém no Windows 7 e 2008 Beta resolveram trocar o rot13 pelo Vigenère cipher. Agora na versão RTM voltaram a usar o rot13!!
Exemplos:
Resultado:
qnqb cnen fre pbqvsvpnqb
- String Maketrans:
Esse método mapeia cada caractere da string intab no caractere de mesma posição da string outtab, e depois é passada para a função translate(). Por isso as duas strings devem ter o mesmo tamanho.
Exemplo:
Resultado:
>> zeldani
z3ld4n1
- Módulo Base-64:
O princípio da base64 é codificar qualquer caractere US-ASCII para a base de 8 bits. Esse módulo codifica e descodifica pelo RFC 3548. Esse padrão define a Base16, Base32 e Base64 transformando strings binárias em textos strings que podem ser enviadas de forma segura por emails.
Exemplo:
Resultado:
ZGFkbyBhIHNlciBjb2RpZmljYWRv
dado a ser codificado
* Fontes:
http://pt.kioskea.net/contents/base/base64.php3
http://docs.python.org/library/base64.html
http://www.tutorialspoint.com/python/string_maketrans.htm
http://searchsecurity.techtarget.com/definition/ROT-13
http://blog.didierstevens.com/2006/07/24/rot13-is-used-in-windows-you%E2%80%99re-joking/
http://blog.didierstevens.com/2009/01/18/quickpost-windows-7-beta-rot13-replaced-with-vigenere-great-joke/
http://forensiczone.blogspot.com.br/2007/12/user-assist-data-in-ram-dump.html
http://www.python.org.br/planet/
http://www.evanfosmark.com/2009/01/rot13-in-python-30/
0 comentários:
Postar um comentário