Encriptador by ZtuX [Python]

Iniciado por [Z]tuX, Junio 06, 2011, 12:32:52 AM

Tema anterior - Siguiente tema

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

Junio 06, 2011, 12:32:52 AM Ultima modificación: Mayo 03, 2014, 03:27:46 AM por Flemon
Bien, hoy programe un encriptador, que encripta en MD5, sha1, y otros...
Es la version 1.0 de mi programa xD
El ejecutable esta dentro de la carpeta dist, se llama cript.exe ...
La forma de usarlo es cript.exe palabra_a_encriptar -hash
Por ejemplo:
   >>> cript.exe ZtuX -md5
Recuerden son necesarias las carpetas Build y Dist, si no el archivo no funcionara...
Criticas (CONSTRUCTIVAS) son bienvenidas...

Código: python
ZtuX
Visita: http://z0kw3r-syst3m.blogspot.com/
Modo de uso: cript.py [Palabra] [Hash]
Ejemplo: cript.py Encriptar_esto -md5

-h         Muestra la Ayuda
-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
-hmac      Codifica en hmac



Descarga: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
FAVOR: Si van a postarlo en otro lado, coloquen los creditos...
Gracias :D



Y aqui el CODE:

Código: python

#!/bin/Python
# -*- coding: cp1252 -*-
import sys
import base64
import hashlib
from string import maketrans
import hmac

#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):
    txt=hashlib.md5()
    txt.update(palabra)
    print 'Texto Codificado: ',txt.hexdigest()
def code_base64(palabra):
    print 'Texto Codificado: ', base64.b64encode(palabra)
def decode_base64(palabra):
    print 'Texto Decodificado: ', base64.b64decode(palabra)
def ztux(palabra):
    print 'Texto Codificado: ',palabra.translate(ZtuX)
def dztux(palabra):
    print 'Texto Decodificado: ',palabra.translate(Ztux)
def sha1(palabra):
    print 'Texto Codificado: ',hashlib.sha1(palabra).hexdigest()
def Hmac(palabra):
    print 'Texto Codificado: ',hmac.new(palabra).hexdigest()

     
def run():
    ver='1.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.exe Encriptar_esto -md5

-h         Muestra la Ayuda
-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
-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]
        _md5(palabra)
    elif sys.argv[2]=='-base64':
        palabra=sys.argv[1]
        code_base64(palabra)
    elif sys.argv[2]=='-dbase64':
        palabra=sys.argv[1]
        decode_base64(palabra)
    elif sys.argv[2]=='-ztux':
        palabra=sys.argv[1]
        ztux(palabra)
    elif sys.argv[2]=='-dztux':
        palabra=sys.argv[1]
        dztux(palabra)
    elif sys.argv[2]=='-sha':
        palabra=sys.argv[1]
        sha1(palabra)
    elif sys.argv[2]=='-hmac':
        palabra=sys.argv[1]
        Hmac(palabra)
    else:
        print 'Debes indicar Frase y hash a encriptar...'
        print 'Para mas informacion teclea -h o --help'


run()



SI MODIFICAN EL CODE NO SE OLVIDEN DE KIEN LO PROGRAMO VALE :D

Se ve excelente! muchas gracias!
Ya cuando saque tiempo lo probare a ver que tal


Bonito programa, me distes ganas de Hacer un decripter md5, para Undercode ^^

Podrias ahorrar lineas de código y ocupar menos variables de la siguiente forma:

Tu forma:

Código: python
def _md5(palabra):
    txt=hashlib.md5()
    txt.update(palabra)
    print 'Texto Codificado: ',txt.hexdigest()


Mi forma:

Código: python
def md5(String):
    return hashlib.md5(String).hexdigest()


Y sobre todo, debes utilizar return en ves de print, te ayudará a la hora de devolver los datos.

¿Por qué?

Te dejo un pequeño ejemplo, te recomiendo leer muchos códigos para comprenderlo mejor.

Código: python
def Sumar(X, Y):
    return (X + Y)

X = input("Numero: ")
Y = input("Cantidad a sumar: ")
print 'el resultado es %s' % Sumar(X,Y)


Me diste ganas de terminar mi codificador, para que el que tenga ganas lo pruebe.

Saludos compañero, felicitaciones y, sigue practicando.