Encriptador by ZtuX v2.0 [Python]

Iniciado por [Z]tuX, Junio 08, 2011, 12:15:52 AM

Tema anterior - Siguiente tema

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

Junio 08, 2011, 12:15:52 AM Ultima modificación: Enero 18, 2013, 06:06:34 PM por 11Sep
Hace poco publique un codigo para encriptar palabras y "mejore" el codigo gracias a los consejos de sthefano02...
Aqui el code...

Código: python
#!/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

Mejoró bastante!
Otro simple consejo, para no molestarte tanto. Puedes ahorrarte un par de lineas, no solo con esto, en general.

Código: php
import sys
import base64
import hashlib


Lo reemplazamos por:

Código: php
import sys, base64, hashlib


Saludos y espero que sigas aprendiendo!

Naa, no me molesta!! :D
al contrario agradesco tus consejos  8)

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

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

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.

Bueno el código, lo que sugiero es que lo comentes para aquellos que no entiendan la sintaxis.

Thanks

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta