Create a program in Java to encrypt an image in Windows bitmap format. First you should check that it is a valid .bmp image, checking the header data ''BM''. If it is a valid .bmp image then encrypt the image by inverting the first two bytes containing the mark ''BM'' by ''MP''.
You can use the advanced FileStream constructor to read and write at the same time.
FileStream
It is a format of the Windows operating system. You can save images up to 24 bits (16.7 million colors).
The header of a BMP image is as follows:
import java.io.File; import java.io.RandomAccessFile; import java.io.IOException; public class EncryptBMPImage { public static void main(String[] args) { String fileName = "logo.bmp"; try (RandomAccessFile file = new RandomAccessFile(fileName, "rw")) { // Check if it's a valid BMP file char b1 = (char) file.read(); char b2 = (char) file.read(); if (b1 == 'B' && b2 == 'M') { // If it's a valid BMP, encrypt it by changing the header file.seek(0); file.write((byte) 'M'); file.write((byte) 'P'); System.out.println("Image encrypted successfully."); } else { System.out.println("Not a valid BMP file."); } } catch (IOException e) { e.printStackTrace(); } } }
Click here to view the exercise solution
Share it on your social media and challenge your friends to solve programming problems. Together, we can learn and grow.
The code has been successfully copied to the clipboard.
Continue improving your Java programming skills with our selection of practical exercises from the lesson. Click on Practice and challenge your knowledge!
Create a Java program that reads ID3 v1 specification tags from an MP3 music file.
Create a program in Java to read the dimensions of an image in Windows bitmap format.
Create a program in Java to encrypt an image in Windows bitmap format.
Create a program in Java that inverts all the bytes of a binary file.
Create a Java program that makes copies of both text and binary files.
Create a Java program that divides text or binary files into parts of 5 Kb each.
Create a hexadecimal viewer in Java that shows the contents of a binary file on screen as follows.
Practice with exercises in Java to manage binary files. Learn how to create, update, and search binary files in different ways.
Free programming course with practical exercises and solutions in C#. Start learning right now!
Take your Exercises C# lessons everywhere with our Android app. Download it now from Google Play
Own and third party cookies to improve our services. If you go on surfing, we will consider you accepting its use.