Note that there are some explanatory texts on larger screens.

plurals
  1. POCannot read image in jar
    primarykey
    data
    text
    <p>i have written a program to encrypt an image in Netbeans. The program works fine when running from netbeans but when i build it into a .jar file its not working, it cannot read the image even though i placed the image file in the same folder as the .jar file.</p> <pre><code> package test; import java.io.IOException; import java.io.File; /** * * @author AMaR */ public class Test { /** * @param args the command line arguments */ public static void main(String[] args) throws IOException, Exception { File EnImage = new File("encrypted.png"); File DeImage = new File("decrypted.png"); int[] pixels; LoadImage l = new LoadImage(); l.load(); pixels= l.getImagePixels(); RC4New rc4 = new RC4New(); int key[]= {13,2,4,6,}; // int data[]={5,10,90,5}; rc4.KSA(key); int[] text = rc4.PRNG(pixels); l.write((int)512,(int)512,text,EnImage); //RC4New rc41 = new RC4New(); rc4.KSA(key); int[] text1 = rc4.PRNG(text); l.write((int)512,(int)512,text1,DeImage); /* for(int i=0;i&lt;text.length;i++){ System.out.println(text[i]); } RC4New rc41 = new RC4New(); rc4.KSA(key); int[] text1 = rc4.PRNG(text); for(int i=0;i&lt;text1.length;i++){ System.out.println(text1[i]); } */ System.out.println("length:"+pixels.length); // l.write((int)512,(int)512,text); // TODO code application logic here } } </code></pre> <p>//encryption</p> <pre><code> package test; /** * * @author AMaR */ public class RC4New { int state[] = new int[256]; int j; /** * * @param key */ public void KSA(int[] key){ int tmp; for (int i=0; i &lt; 256; i++) { state[i] = i; } j=0; for (int i=0; i &lt; 256; i++) { j = (j + state[i] + key[i % key.length]) % 256; tmp = state[i]; state[i] = state[j]; state[j] = tmp; } } public int[] PRNG(int[] data){ int tmp,k; int i=0; j=0; int[] cipherText = new int[data.length]; for(int x=0;x&lt;data.length;x++){ i = (i + 1) % 256; j = (j + state[i]) % 256; tmp = state[i]; state[i] = state[j]; state[j] = tmp; k = state[(state[i] + state[j]) % 256]; cipherText[x]= (data[x] ^ k); } return cipherText; } } </code></pre> <p>//loading/writing image </p> <pre><code> package test; import java.awt.Dimension; import java.awt.image.BufferedImage; import java.awt.image.Raster; import java.io.IOException; import javax.imageio.ImageIO; import java.io.File; import java.awt.image.WritableRaster; /** * * @author AMaR */ public class LoadImage { BufferedImage image; void load()throws Exception { // FIle newfile = new File("lena.png) image = ImageIO.read(getClass().getResourceAsStream("lena.png")); } public Dimension getImageSize() { return new Dimension(image.getWidth(), image.getHeight()); } public int[] getImagePixels() { int [] dummy = null; int wid, hgt; // compute size of the array wid = image.getWidth(); hgt = image.getHeight(); // start getting the pixels Raster pixelData; pixelData = image.getData(); return pixelData.getPixels(0, 0, wid, hgt, dummy); } @SuppressWarnings("empty-statement") public void write(int width ,int height, int[] pixels,File outputfile) { try { // retrieve image BufferedImage writeImage = new BufferedImage(512, 512, BufferedImage.TYPE_BYTE_GRAY);; // File outputfile = new File("encrypted.png"); WritableRaster raster = (WritableRaster) writeImage.getData(); raster.setPixels(0,0,width,height,pixels); writeImage.setData(raster); ImageIO.write(writeImage, "png", outputfile); } catch (IOException e) { } } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload