Título: Codificador de base64 en python Publicado por: SBlast en 24 Noviembre 2007, 23:04 pm Tutorial de creacion de un codificador de base64 en python
#========================================== # Rafael Ramirez # Sasser_Blaster 2007 # Codificador base64 # Lenguaje: Python #========================================== Agradecimientos: a Movaxes por resolverme mis dudas sobre python. Este es un pequeño tutorial de python, el programa que haremos sera simple ya que el proposito es demostrar como utilizar python para crear un codificador de base64. En este tutorial debes saber lo basico de python, si aun no has leido ningun tutorial de python puedes leer este que esta echo por Guido van Rossum que es el creador de python: http://pyspanishdoc.sourceforge.net/tut/tut.html (http://pyspanishdoc.sourceforge.net/tut/tut.html) el programa hara lo siguiente : va a leer el contenido de un archivo de texto y creara otro archivo de texto con el resultado de este codificado a base64. Lo primero que necesitamos en nuestro programa es incluir libreria que utilizaremos: Código: import base64 La libreria estandar de Python contiene un modulo para hacer conversiones entre binarios y ascii, para esto utiliza la codificacion Base64, con la cual podemos codificar cualquier archivo en caracteres ascii. Una vez que tenemos la libreria que necesitamos creamos una variable que contiene el archivo a leer con su nombre y su extensión : Código: txtfile = "archivo.txt" y luego ponemos la funcion que abre y lee el archivo y lo codifica a base64 Código: txt_text = 'encoded_b64 = \\\n"""' + base64.encodestring(open(txtfile,"rb").read()) + '"""' para eso lo asignamos a una variable "txt_text" y ahi indicamos que habra el txtfile (archivo.txt) y codifique la cadena a base64 y el resultado lo ponga entre comillas """ bueno la funcion mas importante que codifica el archivo es esta : Código: base64.encodestring(open(txtfile,"rb").read()) con "encodestring" indicamos que codifique todo lo que esta en el archivo, y para poder abrir el archivo para lectura o escritura, para eso utilizamos la funcion ‘open’ que recibe como parametro varias opciones: r = solo lectura w = solo escritura (si el archivo existe lo elimina) r+ = lectura y escritura a = agrega nuevo contenido al final del archivo b = archivo binario (Windows y Mac) Código: (open(txtfile,"rb").read()) en "txtfile" llamamos a la variable que contiene archivo.txt Código: txtfile = "archivo.txt" y el parametro "rb" es un para leer y indicar que es archivo binario (Windows y Mac) y read() es una funcion que lee el archivo bueno en resumen XD primero abre el archivo y luego lo lee : Código: (open(txtfile,"rb").read()) eso lo abre el archivo : Código: open(txtfile,"rb") y esto lee el archivo: Código: read() y luego ponemos que imprima el resultado codificado en la pantalla : Código: print txt_text esto imprime en la pantalla el contenido osea el resultado de la variable "txt_text" bueno hasta ahi el programa daria perfectamente pero para mayor comodidad pasaremos el resultado cifrado a un archivo de texto primero asignamos una variable con el nombre y la extensión del archivo a crear Código: filename = "encoded.txt" bueno luego ponemos la parte de que abre el archivo y escribe el resultado y lo guarda. Código: try: bueno "try" hase una Prueba Código: try: ejm: Código: a = 1 en resumen try hase una prueba y si esta bien muestra "else" y si esta mal muestra "except" . esta es la funcion que abre y escribe el archivo de texto : Código: txt = open(filename, "w") esto abre el archivo de la variable "filename" y indica el parametro w = solo escritura (si el archivo existe lo elimina) : Código: txt = open(filename, "w") esto escribe el contenido de la variable "txt_text" osea el resultado codificado : Código: txt.write(txt_text) y con esto cerramos el archivo : Código: txt.close() mensaje de error cuando no se puede guardar el archivo de texto : Código: except IOError: mensaje cuando el archivo se guardo el archivo de texto correctamente : Código: else: el code completo (bien comentado XD ) : Código: #!/usr/bin/python bueno para ejecutar el programa van a la consola y teclean Código: python b64.py Nota: para que de el programa tienen que crear un archivo de texto con el nombre de archivo.txt y poner ahi lo que quieran codificar. bueno eso es todo espero que les sirva Saludos .:*[S_B]*:. |