Subido por Andy Juárez

TP Mensajes Secretos Parte 2

Anuncio
Python Inicial
Argentina Programa 4.0 - FIUBA
_________________________________________________________________________________________________
Trabajo Práctico Grupal
Mensajes secretos - Parte 2 - ES#13
Objetivo General
Sumar funcionalidad a la aplicación desarrollada en la Parte 1 del TP Grupal, que permite
cifrar mensajes secretos para ser enviados sin poder ser interceptados.
En este caso podremos asignar a nuestro mensaje un destinatario específico (un espía) y
además preservaremos los datos en un archivo csv.
Planificación para el desarrollo de la aplicación
Para que puedan alcanzar el objetivo general exitosamente, los vamos a guiar en el proceso de
modificación del código logrado para la Parte 1. Es importante que sigan las indicaciones aquí
descritas y las dadas por los docentes a cargo.
➔ Deberán ir cumpliendo los objetivos en orden y a medida que los cumplan, subir lo producido al
campus.
➔ Deberán preservar una versión del programa de la Parte 1, y generar una nueva versión por
cada uno de los objetivos a cumplir.
_________________________________________________________________________________________________
Bianchi - Espina
Página 1
Python Inicial
Argentina Programa 4.0 - FIUBA
_________________________________________________________________________________________________
ES#13 - Objetivo 1: Destinatario
En esta oportunidad agregaremos una opción de envío de mensajes cifrados pero indicando un
destinatario del mensaje (un espía en particular).
Para ello, agregaremos una opción a nuestro menú inicial:
Que desea hacer:
1)
Cifrar mensaje
2)
Descifrar mensaje
3)
Enviar mensaje cifrado
Opción: 3) Enviar mensaje cifrado
Esta opción es similar a la 1), sólo que antes de solicitar el mensaje a enviar debemos solicitar el
ingreso de un destinatario:
Ingrese el espía destinatario del mensaje: volador.MI6
Para el caso que el mensaje quiera ser destinado a todos y por lo tanto accedido por cualquiera de
los espías de la organización, se deberá indicar con el ingreso de un asterisco “*”; de lo contrario el
usuario deberá ingresar como destinatario un identificador válido.
El identificador del espía destinatario debe ser validado, sólo puede estar formado por letras,
números, y los caracteres “_” “-” “.”; y tener como mínimo 5 caracteres y como máximo 15.
Escribir una función de validación del identificador de espía destinatario.
Si el usuario ingresa un destinatario inválido, se le debe advertir mediante un mensaje de “Espía
Inexistente”, y en lugar de volver a solicitar nuevamente el destinatario, se deberá volver al menú
principal de opciones.
Si el espía destinatario ingresado es válido, se debe proceder a solicitar el mensaje a cifrar de igual
modo que se hacía anteriormente.
_________________________________________________________________________________________________
Bianchi - Espina
Página 2
Python Inicial
Argentina Programa 4.0 - FIUBA
_________________________________________________________________________________________________
ES#13 - Objetivo 2: Preservación del mensaje en un archivo
Una vez que el usuario haya ingresado: el destinatario del mensaje, el mensaje y elegido el cifrado;
se deben preservar los datos en el archivo mensajes.csv.
El archivo csv, debe tener el siguiente formato:
destinatario,cifrado,mensaje-cifrado
➔ destinatario: será el identificador válido ingresado por el usuario tal como lo ingresó, sin
cifrar
➔ cifrado: si se utilizó cifrado Atbash, entonces, será una “A”; si en cambio el cifrado utilizado
es el Cesar, será una “C”, y a continuación el valor de la clave utilizada, por ejemplo: “C9”,
indicará que se utilizó Cesar con clave 9.
➔ mensaje-cifrado: el mensaje ingresado por el usuario pero cifrado
Una vez grabados los datos en el archivo csv, se debe mostrar el mensaje:
Mensaje Enviado
El archivo mensajes.csv es acumulativo, todos los mensajes deben ser agregados a este archivo y
preservarse tras las ejecuciones del programa.
ES#13 - Objetivo 3: Consultar mensajes cifrados
Ahora vamos agregar una nueva opción a nuestro menú principal:
Que desea hacer:
1)
Cifrar mensaje
2)
Descifrar mensaje
3)
Enviar mensaje cifrado
4)
Consultar mensajes cifrados
Opción: 4) Consultar mensajes cifrados
Esta opción debe permitir leer a un espía los mensajes que hay para él y mostrárselos pero
descifrados.
Para ello, seleccionada la opción 4) por parte del usuario espía, debemos solicitar al usuario que se
identifique mediante el ingreso de su identificador de usuario.
Ingrese su identificador de espía: volador.MI6
_________________________________________________________________________________________________
Bianchi - Espina
Página 3
Python Inicial
Argentina Programa 4.0 - FIUBA
_________________________________________________________________________________________________
Si el identificador ingresado no es válido (reutilizar la función del objetivo 1), se debe mostrar el
mensaje:
ALERTA: Usted es un intruso
Si en cambio, el identificador fuese válido, se debe buscar en el archivo mensajes.csv todos los
mensajes que pueda haber para dicho identificador, y todos aquellos mensajes que hayan sido
dirigidos a cualquier destinatario espía.
La forma de visualización debe ser: primero los mensajes dirigidos a cualquier espía, y luego los
mensajes dirigidos al espía en particular.
Separar los mensajes por líneas punteadas, y los mensajes dirigidos particularmente al usuario
deben ser diferenciados anteponiendo las tres primeras letras del identificador del destinatario, o en
su defecto “TODOS:”
Ejemplo:
Lista de Mensajes:
—--------------------------------------------------------------------TODOS: reunion en cuartel central martes veinte horas
—--------------------------------------------------------------------TODOS: la cia intenta obtener informacion sobre blancanieves
—--------------------------------------------------------------------VOL: proxima mision asignada python y la ciencia de datos
—--------------------------------------------------------------------VOL: encuentro debajo del puente con tontin miercoles cinco am
—--------------------------------------------------------------------Total de Mensajes: 4
Opcional: Desafío adicional
En caso que en el ES#13 logren los 3 objetivos planteados y tengan tiempo disponible, ó decidan
realizarlo fuera del horario del encuentro sincrónico, podrían agregar un archivo adicional
espías.csv, en el cual se encuentren los identificadores de los espías, junto con la clave de acceso.
De esta forma, cuando se seleccione la opción 4) Consultar mensajes cifrados, se debe solicitar el
identificador y además la clave, y sólo mostrar los mensajes si los datos ingresados son válidos.
Para esto se puede reutilizar el código generado en la actividad grupal de Interfaces Gráficas.
_________________________________________________________________________________________________
Bianchi - Espina
Página 4
Descargar