[Mi primer code] Cifrador de texto

Iniciado por KrossPock, Enero 30, 2014, 01:28:10 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

Enero 30, 2014, 01:28:10 AM Ultima modificación: Enero 30, 2014, 11:11:46 AM por KrossPock
Buenas, andaba sin saber que hacer y dije, "porque no me aprendo algun lenguaje" y entonces me puse a leer sobre python, la verdad que me gusto bastante el lenguaje.

El cifrador es algo que hago siempre que aprendo un lenguaje, seria como un "hola mundo" un poco mas complejo. Utiliza el cifrado cesar, o por desplazamiento, uno de los mas basicos y antiguos cifrados, osea que si quieren seguridad este no es el script adecuado, lo hice unicamente para aprender el lenguaje

A medida que vaya aprendiendo mas cosas las ire agregando al codigo, como por ejemplo cifrar y descifrar archivos de textos, o hacer un chat cifrado.

El codigo no esta comentado, espero que lo sepan comprender

Cualquier recomendacion para este codigo o sugerencias para agregar a las proximas versiones y asi aprender mas son bienvenidas.

Código: python

#!/usr/bin/python

import sys

def help():
print """
#################################
# [Des]Cifrador Cesar #
# version 1.0 #
# by Krosspock #
#################################

uso: -[c|d] -n [num] -t 'texto entre comillas'

-c Cifrar cadena
-d Descifrar cadena
-n Numero de desplazamientos
-t Texto a cifrar / descifrar
-h Muestra esto

"""
sys.exit()

def cesar(cd, n, t):

abc = ('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','0','1','2','3','4','5','6','7','8','9')
i = 0
ia = 0
resultado = ''
n = int(n)

while (i <= len(abc) - 1):

if (txt[ia] == abc[i]):
if (cd == 'd'):
resultado = resultado + abc[i-n]
else:
resultado = resultado + abc[i+n]
ia = ia + 1
if (ia == len(txt)):
return resultado
i = 0
else:
i = i + 1
if (i == len(abc) - 1):
resultado = resultado + txt[ia]
ia = ia + 1
if (ia == len(txt)):
return resultado
i = 0

if (len(sys.argv) <= 1):
print """
#################################
# [Des]Cifrador Cesar #
# version 1.0 #
# by Krosspock #
#################################

uso: -[c|d] -n [num] -t 'texto entre comillas'

-c Cifrar cadena
-d Descifrar cadena
-n Numero de desplazamientos
-t Texto a cifrar / descifrar
-h Muestra esto

"""
sys.exit()

i = 1
n = 0
txt = ''

while (i < len(sys.argv)):
if (sys.argv[i] == '-h'):
help()
elif (sys.argv[i] == '-c'):
q = 'c'
elif (sys.argv[i] == '-d'):
q = 'd'
elif (sys.argv[i] == '-n'):
num = sys.argv[i+1]
i = i + 1
elif (sys.argv[i] == '-t'):
txt = sys.argv[i+1]
i = i + 1
else:
print 'Error! los parametros usados no son correctos, escribe -h para ayuda'
i = i + 1

print cesar(q,num,txt)


Pero que bien!!
Felicitaciones por el cifrador!
Muy buen trabajo!

Saludos!
ANTRAX


Muy bueno!
Interesante forma de aprender un lenguaje!
Saludos!

CrazyKade