Cifrado de archivos BMP - Python Programming Exercise

En este ejercicio, desarrollarás un programa en Python para cifrar o descifrar un archivo de imagen BMP intercambiando la firma "BM" en los dos primeros bytes con "MB" y viceversa. Este ejercicio es perfecto para practicar el manejo de archivos, la manipulación de bytes y las técnicas de cifrado en Python. Al implementar este programa, obtendrás experiencia práctica en el manejo de operaciones de archivos, manipulación de bytes y técnicas de cifrado en Python. Este ejercicio no solo refuerza tu comprensión del manejo de archivos, sino que también te ayuda a desarrollar prácticas de codificación eficientes para gestionar las interacciones con el usuario. Además, este ejercicio proporciona una excelente oportunidad para explorar la versatilidad de Python en aplicaciones del mundo real. Al trabajar con el manejo de archivos, la manipulación de bytes y las técnicas de cifrado, aprenderás a estructurar tu código de manera eficiente, lo cual es una habilidad crucial en muchos escenarios de programación. Este ejercicio también te anima a pensar críticamente sobre cómo estructurar tu código para la legibilidad y el rendimiento, convirtiéndolo en una valiosa adición a tu portafolio de programación. Ya seas un principiante o un programador experimentado, este ejercicio te ayudará a profundizar tu comprensión de Python y mejorar tus habilidades para resolver problemas.

 Categoría

Administrar archivos

 Ejercicio

Cifrado De Archivos BMP

 Objectivo

Desarrollar un programa Python para cifrar o descifrar un archivo de imagen BMP intercambiando la firma "BM" en los dos primeros bytes por "MB" y viceversa.

Utilizar el constructor avanzado FileStream para permitir la lectura y la escritura al mismo tiempo.

 Ejemplo de ejercicio de Python

 Copiar código Python
# Python program to encrypt or decrypt a BMP file by swapping the "BM" signature

def encrypt_decrypt_bmp(filename):
    try:
        # Open the BMP file in binary read and write mode
        with open(filename, 'r+b') as file:
            # Read the first two bytes (the signature)
            signature = file.read(2)
            
            # Check if the signature is "BM"
            if signature == b'BM':
                print("Encrypting: Swapping 'BM' to 'MB'...")
                # Move the file pointer back to the start
                file.seek(0)
                # Write "MB" to replace "BM"
                file.write(b'MB')
            elif signature == b'MB':
                print("Decrypting: Swapping 'MB' to 'BM'...")
                # Move the file pointer back to the start
                file.seek(0)
                # Write "BM" to replace "MB"
                file.write(b'BM')
            else:
                print(f"Error: The file '{filename}' does not have a valid BMP signature.")
                
    except FileNotFoundError:
        print(f"Error: The file '{filename}' does not exist.")
    except Exception as e:
        print(f"Error: {str(e)}")

# Example usage
encrypt_decrypt_bmp("example.bmp")

 Output

Encrypting: Swapping 'BM' to 'MB'...

 Comparte este ejercicio de Python

 Más Ejercicios Programación Python de Administrar archivos

¡Explora nuestro conjunto de ejercicios de programación Python! Estos ejercicios, diseñados específicamente para principiantes, te ayudarán a desarrollar una sólida comprensión de los conceptos básicos de Python. Desde variables y tipos de datos hasta estructuras de control y funciones simples, cada ejercicio está diseñado para desafiarte de manera gradual a medida que adquieres confianza en la codificación en Python.

  •  Convertidor de datos CSV

    En este ejercicio, desarrollarás un programa en Python para leer un archivo CSV que contiene valores separados por comas. Este ejercicio es perfecto para pract...

  •  Comparador de contenido de archivos

    En este ejercicio, desarrollarás un programa en Python para comparar dos archivos (de cualquier tipo) y determinar si son idénticos (es decir, si tienen el mismo cont...

  •  Mostrar BMP en la consola

    En este ejercicio, desarrollarás un programa en Python para decodificar y mostrar un archivo de imagen Netpbm. Este ejercicio es perfecto para practicar el man...

  •  Extraer información de texto de un archivo binario

    En este ejercicio, desarrollarás un programa en Python para extraer solo los caracteres alfabéticos contenidos en un archivo binario y volcarlos en un archivo separad...

  •  Vertedero

    En este ejercicio, desarrollarás un programa en Python para crear una utilidad de "volcado": un visor hexadecimal que muestra el contenido de un archivo, con 16 bytes...

  •  Filtro de texto

    En este ejercicio, desarrollarás un programa en Python para crear una utilidad que censure archivos de texto. Este ejercicio es perfecto para practicar el mane...