Underc0de

Programación Scripting => Python => Mensaje iniciado por: [Z]tuX en Junio 08, 2011, 12:15:52 AM

Título: Encriptador by ZtuX v2.0 [Python]
Publicado por: [Z]tuX en Junio 08, 2011, 12:15:52 AM
Hace poco publique un codigo para encriptar palabras y "mejore" el codigo gracias a los consejos de sthefano02...
Aqui el code...

Código (python) [Seleccionar]
#!/bin/Python
# -*- coding: cp1252 -*-
import sys, base64, hashlib, hmac
from string import maketrans

#Codificacion con maketrans
ZtuX=maketrans("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789","m0b1c2z3k4h5f6s7p8i9y0rewqQW]RT[UI$%A(D-G)JK<Z#CVB/M@&\*.;_^{}")
#Decodificación con makeTrans
Ztux=maketrans("m0b1c2z3k4h5f6s7p8i9y0rewqQW]RT[UI$%A(D-G)JK<Z#CVB/M@&\*.;_^{}","abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")

def _md5(palabra):
    return hashlib.md5(palabra).hexdigest()
def code_base64(palabra):
    return base64.b64encode(palabra)
def decode_base64(palabra):
    return base64.b64decode(palabra)
def ztux(palabra):
    return palabra.translate(ZtuX)
def dztux(palabra):
    return palabra.translate(Ztux)
def sha1(palabra):
    return hashlib.sha1(palabra).hexdigest()
def sha256(palabra):
    return hashlib.sha256(palabra).hexdigest()
def sha384(palabra):
    return hashlib.sha384(palabra).hexdigest()
def sha512(palabra):
    return hashlib.sha512(palabra).hexdigest()
def Hmac(palabra):
    return hmac.new(palabra).hexdigest()

     
def run():
    ver='2.0'
    if (len(sys.argv)==1) or sys.argv[1]=="-h" or sys.argv[1]=="--help":
        print """
===========================================
                  ZtuX                   
===========================================
Visita: http://z0kw3r-syst3m.blogspot.com/
===========================================
>>>Modo de uso: cript.py [Palabra] [Hash]
>>>Ejemplo: cript.py Encriptar_esto -md5

-h         Muestra esto en pantalla
-v         Muestra la Version del Programa
-md5       Codifica en MD5
-base64    Codifica en base64
-dbase64   Decodifica en base64
-ztux      Codifica en ZtuX
-dztux     Decodifica ZtuX
-sha       Codifica en sha1
-sha256    Codifica en sha256
-sha384    Codifica en sha384
-sha512    Codifica en sha512
-hmac      Codifica en hmac
"""
    elif sys.argv[1]=='-v' or sys.argv[1]=='--version':
        print "Cript version: " + ver + "\nAutor: ZtuX"
    elif sys.argv[2]=='-md5':
        palabra=sys.argv[1]
        print 'Texto Codificado: %s'%_md5(palabra)
    elif sys.argv[2]=='-base64':
        palabra=sys.argv[1]
        print 'Texto Codificado: %s'%code_base64(palabra)
    elif sys.argv[2]=='-dbase64':
        palabra=sys.argv[1]
        print 'Texto Decodificado: %s'%decode_base64(palabra)
    elif sys.argv[2]=='-ztux':
        palabra=sys.argv[1]
        print 'Texto Codificado: %s'%ztux(palabra)
    elif sys.argv[2]=='-dztux':
        palabra=sys.argv[1]
        print 'Texto Decodificado: %s'%dztux(palabra)
    elif sys.argv[2]=='-sha':
        palabra=sys.argv[1]
        print 'Texto Codificado: %s'%sha1(palabra)
    elif sys.argv[2]=='-sha256':
        palabra=sys.argv[1]
        print 'Texto Codificado: %s'%sha256(palabra)
    elif sys.argv[2]=='-sha384':
        palabra=sys.argv[1]
        print 'Texto Codificado: %s'%sha384(palabra)
    elif sys.argv[2]=='-sha512':
        palabra=sys.argv[1]
        print 'Texto Codificado: %s'%sha512(palabra)
    elif sys.argv[2]=='-hmac':
        palabra=sys.argv[1]
        print 'Texto Codificado: %s'%Hmac(palabra)
    else:
        print 'Debes indicar Frase y hash a encriptar...'
        print 'Para mas informacion teclea -h o --help o -ayuda'

run()


Gracias a sthefano02 por sus consejos xD
Título: Re:Encriptador by ZtuX v2.0 [Python]
Publicado por: Mavis en Junio 08, 2011, 05:24:29 PM
Mejoró bastante!
Otro simple consejo, para no molestarte tanto. Puedes ahorrarte un par de lineas, no solo con esto, en general.

import sys
import base64
import hashlib


Lo reemplazamos por:

import sys, base64, hashlib

Saludos y espero que sigas aprendiendo!
Título: Re:Encriptador by ZtuX v2.0 [Python]
Publicado por: [Z]tuX en Junio 09, 2011, 12:50:17 AM
Naa, no me molesta!! :D
al contrario agradesco tus consejos  8)
Título: Re:Encriptador by ZtuX v2.0 [Python]
Publicado por: Comandante Linux en Junio 09, 2011, 12:20:12 PM
Muy bueno [Z]tuX.

Sthefano02, como se nota que en la vida no pagan por cantidad de caracteres  ;D, es una cosa de achicar codigo
Título: Re:Encriptador by ZtuX v2.0 [Python]
Publicado por: Mavis en Junio 09, 2011, 05:06:56 PM
Se puede tocar mucho mas, todo es por achicar el código y respetar mas la ventaja que nos da python, de tener un código que sea facil de leer.
Título: Re:Encriptador by ZtuX v2.0 [Python]
Publicado por: Gh0st.C en Junio 09, 2011, 11:22:09 PM
Bueno el código, lo que sugiero es que lo comentes para aquellos que no entiendan la sintaxis.

Thanks