comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

CifraMe

  • 4 Respuestas
  • 1518 Vistas

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

Desconectado [Z]tuX

  • *
  • Underc0der
  • Mensajes: 27
  • Actividad:
    0%
  • Reputación 0
  • ZtuX W4s H3r3 !!
    • Ver Perfil
    • ztux.net
« en: Abril 13, 2013, 01:50:06 pm »
Un proyecto que dejé pendiente hace tiempo, ahora con mejoras en el código y ahora trabaja bajo Python 3.x
Código: Python
  1. #!/usr/bin/env python3
  2.  
  3. #It Works with Python 3.x.x
  4. # -*- coding:UTF-8 -*-
  5.  
  6. import sys, base64, hashlib, hmac
  7.  
  8. name = "CifraMe"
  9. ver = "2.7"
  10. author = "@_ZtuX_"
  11.  
  12. listHash=["-md5","-sha","-sha256","-sha384","-sha512","-hmac","-b64","-db64"]
  13.  
  14. def banner():
  15.     print ("""
  16. ___ _________   _            __   __    
  17. |  _|___  /_  | | |           \ \ / /    
  18. | |    / /  | | | |_   _   _   \ V /    
  19. | |   / /   | | | __| | | | |  /   \    
  20. | | ./ /___ | | | |_  | |_| | / /^\ \  
  21. | |_\_____/_| |  \__|  \__,_| \/   \/    
  22. |___|     |___|                        
  23.    """)
  24.  
  25. class CifraMe:
  26.     def __init__(self,string,hash):
  27.         self.string=string
  28.         self.hash=hash
  29.     def md5(self):      
  30.         return (hashlib.md5((self.string).encode()).hexdigest())
  31.     def sha(self):
  32.         return hashlib.sha1((self.string).encode()).hexdigest()
  33.     def sha256(self):
  34.         return hashlib.sha256((self.string).encode()).hexdigest()
  35.     def sha384(self):
  36.         return hashlib.sha384((self.string).encode()).hexdigest()
  37.     def sha512(self):
  38.         return hashlib.sha512((self.string).encode()).hexdigest()
  39.     def Hmac(self):
  40.         return hmac.new((self.string).encode()).hexdigest()
  41.     def code_base64(self):
  42.         new = base64.b64encode((self.string).encode('ascii'))
  43.         return (new.decode())
  44.     def decode_base64(self):
  45.         new = " "
  46.         try:
  47.             new = base64.b64decode((self.string).encode('ascii'))
  48.         except:
  49.             print ("Palabra erronea")
  50.         return (new.decode())
  51.     @property
  52.     def tamanioString(self):
  53.         return len(self.string)
  54.      
  55.          
  56. def showHelp():
  57.     print ("""
  58.      _  __           ______  ___    ___
  59.     (_)/ _|         |  _|  \/  |   |_  |
  60.  ___ _| |_ _ __ __ _| | | .  . | ___ | |
  61. / __| |  _| '__/ _` | | | |\/| |/ _ \| |
  62. | (__| | | | | | (_| | | | |  | |  __/| |
  63. \___|_|_| |_|  \__,_| |_\_|  |_/\___|| |
  64.                     |___|          |___|    
  65. ==============================================
  66.   Visita: http://ztux.blogspot.com/
  67. ==============================================
  68. [+] Modo de uso: %s [Palabra] [Hash]
  69. [+] Ejemplo: %s Cifrar_esto -md5
  70.    
  71. -h         Muestra esto en pantalla
  72. -v         Muestra la Version del Programa
  73.    
  74. -md5       Cifrar en MD5
  75. -sha       Cifrar en sha1
  76. -sha256    Cifrar en sha256
  77. -sha384    Cifrar en sha384
  78. -sha512    Cifrar en sha512
  79. -hmac      Cifrar en hmac
  80.  
  81. -b64       Codifica en base64
  82. -db64      Decodifica en base64
  83. """%(sys.argv[0],sys.argv[0]))
  84.  
  85. def main():
  86.     if (len(sys.argv)==1) or sys.argv[1].lower()=="-h" or sys.argv[1].lower()=="--help":
  87.         showHelp()
  88.     elif (len(sys.argv) > 3):
  89.         print ("ERROR...\nModo de uso: %s [Palabra] [Hash]"%(sys.argv[0]))
  90.     elif (sys.argv[1].lower()=='-v' or sys.argv[1].lower()=='--version'):
  91.         print ("%s version: %s\nAutor: %s"% (name,ver,author))
  92.     elif (sys.argv[1].lower()=='-b'):
  93.         banner()
  94.     elif (len(sys.argv)==3):
  95.         """Si hay tres argumentos entonces podemos cifrar a gusto"""
  96.         #Checks if second argument is correct
  97.         hash = sys.argv[1].lower()
  98.         string = sys.argv[2]
  99.         if (hash in listHash):
  100.             cadena = CifraMe(string,hash)
  101.             #Identify Hash
  102.             pos = listHash.index(hash)
  103.             if (pos==0):
  104.                 print (cadena.md5())
  105.             elif (pos==1):
  106.                 print (cadena.sha())
  107.             elif (pos==2):
  108.                 print (cadena.sha256())
  109.             elif (pos==3):
  110.                 print (cadena.sha384())
  111.             elif (pos==4):
  112.                 print (cadena.sha512())
  113.             elif (pos==5):
  114.                 print (cadena.Hmac())
  115.             elif (pos==6):
  116.                 print (cadena.code_base64())
  117.             elif (pos==7):
  118.                 print (cadena.decode_base64())
  119.             return (0)
  120.         else:
  121.             print ("La hash %s no es valida" % (hash) )
  122.             return (-1)
  123.     else:
  124.         print ("Error: usa -h o --help para mas información")
  125.          
  126. if __name__ == '__main__':
  127.  main()
  128.  

Captura:

Salud[OS]

Desconectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5331
  • Actividad:
    58.33%
  • Reputación 30
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« Respuesta #1 en: Abril 13, 2013, 02:23:51 pm »
Tiempo sin verte por el foro bro!
Excelente aporte! Muchas gracias!


Desconectado [Z]tuX

  • *
  • Underc0der
  • Mensajes: 27
  • Actividad:
    0%
  • Reputación 0
  • ZtuX W4s H3r3 !!
    • Ver Perfil
    • ztux.net
« Respuesta #2 en: Abril 13, 2013, 02:49:55 pm »
You are not allowed to view links. Register or Login
Tiempo sin verte por el foro bro!
Excelente aporte! Muchas gracias!

Si verdad, pues por acá estaremos de nuevo =)
Un Saludo

Desconectado 2Fac3R

  • *
  • Underc0der
  • Mensajes: 232
  • Actividad:
    5%
  • Reputación 0
  • Why be a king, when you can be a god
    • Ver Perfil
    • Escuela de Hackers & Programación
  • Skype: rockeg_18
  • Twitter: @2Fac3R
« Respuesta #3 en: Abril 13, 2013, 04:24:14 pm »
El viejo ztux por acá ;D muy bueno brot, en un rato me pongo a jugar :P
Zalu2
Escuela de Hackers & Programación.
You are not allowed to view links. Register or Login

Desconectado [Z]tuX

  • *
  • Underc0der
  • Mensajes: 27
  • Actividad:
    0%
  • Reputación 0
  • ZtuX W4s H3r3 !!
    • Ver Perfil
    • ztux.net
« Respuesta #4 en: Abril 13, 2013, 08:36:30 pm »
You are not allowed to view links. Register or Login
El viejo ztux por acá ;D muy bueno brot, en un rato me pongo a jugar :P
Zalu2
Gracias bro! Tiempo sin estar por acá!
Un saludo!!  8)

 

¿Te gustó el post? COMPARTILO!