Underc0de

Programación Scripting => Python => Mensaje iniciado por: KrossPock en Enero 30, 2014, 01:28:10 AM

Título: [Mi primer code] Cifrador de texto
Publicado por: KrossPock en Enero 30, 2014, 01:28:10 AM
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) [Seleccionar]

#!/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)

Título: Re:[Mi primer code] Cifrador de texto
Publicado por: ANTRAX en Enero 30, 2014, 08:00:59 AM
Pero que bien!!
Felicitaciones por el cifrador!
Muy buen trabajo!

Saludos!
ANTRAX
Título: Re:[Mi primer code] Cifrador de texto
Publicado por: CrazyKade en Enero 30, 2014, 09:47:46 AM
Muy bueno!
Interesante forma de aprender un lenguaje!
Saludos!

CrazyKade