Skip to main content

A library to code and encode messages and strings!

Project description

CryptoMania

Un sistema de encriptación de mensajes junto a su librería original


CryptoMania sirve para programadores que quieren encriptar sus mensajes de manera rapida y sencilla usando POO

CryptoMania posee como funciones principales encriptar en cifrados o sistemas de encriptación comúnmente conocidos como el cifrado cesar o el cifrado Hash


Conceptos de POO Utilizados en CryptoMania

  1. Encapsulamiento Linea 10 de cryptomania.py
        self.__message = message
  1. Herencia Se utiliza en general en la libreria de CryptoMania y en la GUI heredando esta de mainGUI.py

  2. Abstracción Linea 1 -> 18 de template.py

from abc import ABC, abstractmethod


class CryptoTemplate(ABC):
    def __init__(self, message : str):
        self.__message = message
        if not isinstance(self.__message, str):
            raise TypeError("The Attributes must be its types!")
    
    @abstractmethod
    def encode(self):
        pass
    
    def return_encoded_message(self):
        return self.encode()
    
    def return_original_message(self):
        return self.__message
  1. Polimorfismo Se puede apreciar en el codigo anterior siendo una plantilla del resto de Metodos de encriptación

Criterios de Aceptación

  1. El sistema debe permitir al usuario ingresar un mensaje de texto y seleccionar un método de encriptación desde el menú de consola, retornando el mensaje encriptado correctamente.

  2. La clase CryptoTemplate debe ser abstracta y no debe poder instanciarse directamente; solo sus clases hijas pueden ser usadas.

  3. Cada método de encriptación (César, Hash, etc.) debe implementar obligatoriamente el método encode(), y cada implementación debe producir un resultado diferente para el mismo mensaje de entrada.

  4. El atributo __message debe estar encapsulado y no debe ser accesible ni modificable directamente desde fuera de la clase; solo a través de los métodos públicos definidos.

  5. Si el usuario ingresa un valor que no sea string como mensaje, el sistema debe lanzar un TypeError con un mensaje de error descriptivo, sin romper la ejecución del programa.

  6. El menú de consola debe incluir como mínimo las opciones de encriptar un mensaje, mostrar el resultado y salir del sistema, funcionando de forma controlada sin errores inesperados.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cryptomania-0.1.0.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cryptomania-0.1.0-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file cryptomania-0.1.0.tar.gz.

File metadata

  • Download URL: cryptomania-0.1.0.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for cryptomania-0.1.0.tar.gz
Algorithm Hash digest
SHA256 333733a08c287b48cf633de06e1c10762f2afe297b55a427d38aa5b9d3f66af5
MD5 12c6124717988404195f2d6dc2b7a145
BLAKE2b-256 d856f9672ff23cf0b51a22d8d15f8e8f6f895d65bcda88a608eb1265e2efb208

See more details on using hashes here.

File details

Details for the file cryptomania-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: cryptomania-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.2

File hashes

Hashes for cryptomania-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7189f22db8ba1352486530f4f3930e3173b63efe1d4aea540e11d5204ad26f7c
MD5 4355c27a4010df3c7d7d1ae1695015d2
BLAKE2b-256 c9fc9b055825f531667df1f8031ef7b7b325cf31a14e444535ef118df49302dc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page