Desarrollo con Python
  • Conceptos básicos
    • 🐍Introducción a Python
      • 🐍Variables
      • 🐍Strings
      • 🐍Números
      • 🐍Comentarios
      • 🐍Funciones
      • 🐍Funciones Propias
      • 🐍Zen of Python
    • 💿Primer programa
  • Operadores en python
    • ❎Operadores
      • ❎Operadores Aritméticos
      • ❎Operadores de asignación
      • ❎Booleanos
      • ❎Operadores de comparación
      • ❎Operadores lógicos
      • ❎Operadores de identidad
      • ❎Operadores de pertenencia
  • Datos Complejos
    • ▶️Datos complejos
      • ▶️Listas
      • ▶️Tuplas
      • ▶️Diccionarios
      • ▶️Bytes y Bytearrays
      • ▶️Sets
      • ▶️NoneType
    • 💿Caso práctico: Agenda
  • Control de flujo
    • 🛑Estructuras de control de flujo
      • 🛑Sentencias if/elif/else
      • 🛑Sentencia for
      • 🛑Sentencia while
      • 🛑break/continue/pass
    • ⚠️Excepciones en Python3
    • 🎯Caso práctico: 4 in Row
  • Orientacion a objetos
    • 💾Scope y Namespaces
    • 💾Clases en Python 3
    • 💾Métodos y atributos
    • 💾Clases y Objetos
    • 💾Decorators
  • Trabajando con objetos
    • 🔢Trabajando con Objetos
      • 🔢Trabajando con Números
      • 🔢Trabajando con Strings
      • 🔢Trabajando con Listas
      • 🔢Trabajando con Tuplas
      • 🔢Trabajando con Sets
      • 🔢Trabajando con Diccionarios
  • Programación Modular
    • 🧩Programación modular
      • 🧩Paquetes
      • 🧩PIP y paquetes externos
      • 🧩Pandas
      • 🧩NumPy
      • 🧩Matplotlib
      • 📄Caso Práctico
  • Proyectos finales
    • 🐍Videojuego Snake
    • 📥Detección de Spam con Machine Learning
Con tecnología de GitBook
En esta página
  1. Conceptos básicos

Primer programa

Para el primer programa que vamos a desarrollar en Python será un programa muy simple para hacer un cifrado en SHA256 de una cadena de texto.

AnteriorZen of PythonSiguienteOperadores

Última actualización hace 1 año

Hasher

Es un programa en Python que permite cifrar una cadena de texto utilizando diferentes tipos de algoritmos de cifrado, como NTLM, MD5 y SHA-256. El usuario introduce la cadena de texto y el programa realiza el proceso de cifrado correspondiente, devolviendo como resultado el valor cifrado en formato hexadecimal.

El programa presenta un menú para que el usuario pueda seleccionar el tipo de cifrado que desea utilizar. Además, permite al usuario repetir el proceso de cifrado con otra cadena de texto o salir del programa.

En resumen, "hasher" es una herramienta sencilla y útil para cifrar información de manera segura utilizando diferentes algoritmos de cifrado.

import hashlib

verde = "\033[1;32m"
amarillo = "\033[1;33m"
magenta = "\033[95m"
cyan = "\033[96m"
default = "\033[0m"


def cabecera():
    print(title)
    print(divider)


title = """
$$\                           $$\                           
$$ |                          $$ |                          
$$$$$$$\   $$$$$$\   $$$$$$$\ $$$$$$$\   $$$$$$\   $$$$$$\  
$$  __$$\  \____$$\ $$  _____|$$  __$$\ $$  __$$\ $$  __$$\ 
$$ |  $$ | $$$$$$$ |\$$$$$$\  $$ |  $$ |$$$$$$$$ |$$ |  \__|
$$ |  $$ |$$  __$$ | \____$$\ $$ |  $$ |$$   ____|$$ |      
$$ |  $$ |\$$$$$$$ |$$$$$$$  |$$ |  $$ |\$$$$$$$\ $$ |      
\__|  \__| \_______|\_______/ \__|  \__| \_______|\__|      

A really simple multiple encripting              < afsh4ck >
"""

divider = """------------------------------------------------------------
"""


def menu():
    print(verde + "[*] Selecciona el tipo de cifrado:" + default)
    print("1. NTLM")
    print("2. MD5")
    print("3. SHA256")
    print("4. Salir")
    opcion = input(amarillo + "[*] Escribe el número de la opción: " + default)
    return opcion


def hasher(tipo_cifrado):
    texto = input(
        magenta + "[*] Introduce el texto a cifrar en " + tipo_cifrado + ": " + default)
    if tipo_cifrado == "NTLM":
        valor_hash = hashlib.new('md4', texto.encode('utf-16le')).hexdigest()
    elif tipo_cifrado == "MD5":
        valor_hash = hashlib.md5(texto.encode()).hexdigest()
    else:
        valor_hash = hashlib.sha256(texto.encode()).hexdigest()
    print(cyan + "[*] " + tipo_cifrado + " hash:" + default, valor_hash)
    print(divider)


cabecera()
while True:
    opcion = menu()
    if opcion == "1":
        hasher("NTLM")
    elif opcion == "2":
        hasher("MD5")
    elif opcion == "3":
        hasher("SHA256")
    elif opcion == "4":
        break
    else:
        print("Opción no válida")
    respuesta = input(amarillo + "[*] ¿Deseas hacer otra operación? (S/N): ")
    if respuesta.upper() == "N":
        break
    elif respuesta.upper() == "S":
        continue

print(verde + "[*] ¡Hasta luego!")

💿
GitHub - afsh4ck/hasher: A very simple SHA256 encription of any text.GitHub
Logo
Page cover image