Cifrar un archivo BMP Curso de Programación C# Sharp

Lección:

Administración de Archivos


Ejercicio:

Cifrar un archivo BMP 27


Objetivo:

Cree un programa para cifrar / descifrar un archivo de imagen BMP, cambiando la marca "BM" en los dos primeros bytes con MB y viceversa.

Utilice el constructor avanzado FileStream para permitir la lectura y escritura simultáneas.


Código:

using System;
using System.IO;
namespace Bmp
{
    class Program
    {
        static void Main(string[] args)
        {
            FileStream myFile;

            Console.Write("Enter the name of file: ");
            string fileName = Console.ReadLine();

            if (!File.Exists(fileName))
            {
                Console.WriteLine("The file not exists!!!");
                return;
            }

            try
            {
                myFile = File.Open(fileName, FileMode.Open, FileAccess.ReadWrite);
                byte b1 = (byte)myFile.ReadByte();
                byte b2 = (byte)myFile.ReadByte();

                if ((Convert.ToChar(b1) != 'B')
                    || (Convert.ToChar(b2) != 'M'))
                {
                    Console.WriteLine("This File is NOT a BMP file");
                }
                else
                {
                    myFile.Seek(0, SeekOrigin.Begin);
                    myFile.WriteByte((byte)'M');
                    myFile.WriteByte((byte)'B');
                }
                myFile.Close();
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: {0}!!!", e.message());
            }
        }
    }
}