Ich muss eine Nachricht von der obersten Zeile der Pixel in einem BMP-Bild entschlüsseln. In dem roten Wert in binär ist eine Nachricht versteckt. Ich habe versucht, einen Weg zu finden, dies zu tun und nicht erfolgreich, weil die meisten Programme .jpg oder .png Dateitypen für Bilder und BMP-Bilder nicht in diesem Code arbeiten. Ich muss herausfinden, wie man diesen Code umwandelt, um die Nachricht mit Arrays zu entschlüsseln, und ich muss die Nachricht in ASCII-Text drucken. Für einige Programme erlaubten sie mir, die obere Zeile des Bildes zu ordnen, aber ich weiß nicht, wie ich es drucken soll. Hier ist der Code zum Codieren der Nachricht in dem Bild:Wie man diesen Code umwandelt, um die Nachricht von der obersten Zeile zu entschlüsseln
import java.awt.*;
class Encode
{
public void encodeMessage(Picture image, int [] binaryArray)
{
Pixel pixelTarget = new Pixel(image,0,0);
Pixel [] pixelArray = image.getPixels();
Color pixelColor = null;
int redValue = 0;
for(int x = 0; x < binaryArray.length; x++)
{
redValue = binaryArray[x];
pixelTarget = pixelArray[x];
pixelTarget.setRed(redValue);
}
pixelTarget = pixelArray[binaryArray.length];
pixelTarget.setRed(255);
image.write("SecretMessage.bmp");
image.explore();
}
}
public class EncodeTester
{
public static void main(String[] args)
{
int[] bitArray = {0,1,1,0,0,0,1,0,0,1,1,0,1,0,0,1,0,1,1,0,1,1,1,0,0,1,1,0,0,0,0,1,0,1,1,1,0,0,1,0,0,1,1,1,1,0,0,1};
Picture image = new Picture("earth.bmp");
Encode message = new Encode();
message.encodeMessage(image, bitArray);
}
}
Könnte jemand bitte erklären, wie fortzusetzen oder einen Beispielcode zu schreiben, bis mir die bmp-Datei zu lesen, die roten Werte von Arrays erhalten und drucken Sie es aus in ASCII-Text. Danke
EDIT: Dies ist nicht genau steganography. Es ist anders, da der Code nur in der ersten Zeile verborgen ist und ich int [] -Arrays verwenden muss, um alle Pixel zu gruppieren, dann die obere Zeile der Pixel zu ordnen und dann die roten Werte im ASCII-Text auszudrucken.