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
Mostrar 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'...
Código de ejemplo copiado
Comparte este ejercicio de Python
¡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.
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...
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...
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...
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...
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...
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...