Exercise
Encrypt A BMP File
Objetive
Create a program to encrypt/decrypt a BMP image file by changing the "BM" mark in the first two bytes to "MB" and vice versa.
Use the advanced FileStream constructor to enable simultaneous reading and writing.
Example Code
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());
}
}
}
}