Introducción
En este proyecto, aprenderás a implementar un algoritmo simple de encriptación y desencriptación llamado "Encriptación Código Claro". Este método de encriptación se utilizó en el sistema de comunicación por telegrafo de China durante la dinastía Qing tardía.
👀 Vista previa
## Ejemplo 1
numb = 1530; encryption_text = "0383"
## Ejemplo 2
numb = 0; encryption_text = "9853"
## Ejemplo 3
numb = 12345; encryption_text = None
🎯 Tareas
En este proyecto, aprenderás:
- Cómo entender el método de encriptación y sus principios fundamentales
- Cómo implementar la función
plain_code_encryption(numb)para realizar la encriptación - Cómo probar la función de encriptación con diferentes entradas
- Cómo manejar la entrada del usuario y llamar a la función de encriptación
🏆 Logros
Después de completar este proyecto, podrás:
- Explicar el método de "Encriptación Código Claro" y su contexto histórico
- Implementar un algoritmo básico de encriptación y desencriptación utilizando Python
- Probar y validar la función de encriptación con diferentes escenarios de entrada
- Integrar la entrada y salida del usuario en el script de encriptación
Comprender el Método de Encriptación
En este paso, aprenderás sobre el método de encriptación utilizado en el proyecto de "Encriptación Código Claro".
El método de encriptación funciona de la siguiente manera:
- Los cuatro dígitos del código claro se suman respectivamente a los cuatro dígitos de la clave de encriptación.
- Para cada suma de dígitos, si la suma es mayor o igual a 10, se omite 10 y solo se conserva el dígito en la unidad.
- Al desencriptar, se utiliza la contraseña restada por los cuatro dígitos de la clave de desencriptación para obtener el código claro y encontrar el texto correspondiente.
Por ejemplo, digamos que el código claro es 1530 y la clave de encriptación es 9853.
- Sumar el primer dígito: 1 + 9 = 10, considerar 10 como 0.
- Sumar el segundo dígito: 5 + 8 = 13, omitir 10 y conservar 3.
- Sumar el tercer dígito: 3 + 5 = 8.
- Sumar el cuarto dígito (10 + 3 = 13, omitir 10 y conservar 3).
El texto encriptado final es "0383".
Implementar la función plain_code_encryption(numb)
En este paso, implementarás la función plain_code_encryption(numb) en el archivo plain_code.py.
- Abre el archivo
plain_code.pyen tu editor de código. - Localiza la función
plain_code_encryption(numb). - Implementa la función para realizar las siguientes tareas:
- Ingresa un número arbitrario entre 0 y 9999 (incluyendo 0 y 9999), súmale 9853 y obtén un número de 4 dígitos (en formato
str) después de la suma, y devuélvelo. - Si el número de entrada tiene menos de 4 dígitos, rellena las posiciones faltantes con 0. Por ejemplo, si el número de entrada es 32, debe considerarse como 0032.
- Suma los números en la misma posición. Si la suma es mayor o igual a 10, omite 10 y solo conserva el dígito en la unidad.
- Si el número de entrada no está entre 0 y 9999, devuelve
None.
- Ingresa un número arbitrario entre 0 y 9999 (incluyendo 0 y 9999), súmale 9853 y obtén un número de 4 dígitos (en formato
Aquí está el código completado de la función plain_code_encryption(numb):
def plain_code_encryption(numb: int) -> str:
if numb < 0 or numb > 9999:
return None
numb_str = str(numb).zfill(4)
key_str = "9853"
encryption_text = "".join(
str((int(n) + int(k)) % 10) for n, k in zip(numb_str, key_str)
)
return encryption_text
Probar la función plain_code_encryption(numb)
En este paso, probarás la función plain_code_encryption(numb) con los ejemplos proporcionados.
- Abre el archivo
plain_code.pyen tu editor de código. - Agrega el siguiente código al final del archivo:
if __name__ == "__main__":
print(plain_code_encryption(1530)) ## Output: "0383"
print(plain_code_encryption(0)) ## Output: "9853"
print(plain_code_encryption(12345)) ## Output: None
- Guarda el archivo y ejecuta el script usando el comando
python3 plain_code.py. - Verifica que la salida coincida con los resultados esperados.
Manejar la entrada del usuario
En este paso, modificarás el script para aceptar la entrada del usuario y llamar a la función plain_code_encryption(numb) con el número proporcionado por el usuario.
- Abre el archivo
plain_code.pyen tu editor de código. - Localiza el código que agregaste en el paso anterior y reemplázalo con lo siguiente:
if __name__ == "__main__":
txt = int(input())
print(plain_code_encryption(txt))
- Guarda el archivo y ejecuta el script usando el comando
python3 plain_code.py. - Cuando se te solicite, ingresa un número entre 0 y 9999, y el script imprimirá el texto encriptado.
¡Felicitaciones! Has completado el proyecto de "Encriptación Código Claro". Has aprendido cómo implementar el método de encriptación y probarlo con diferentes entradas.
Resumen
¡Felicitaciones! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.



