You are on page 1of 6

import import import import import import

javax.swing.*; java.awt.event.*; java.awt.*; java.io.*; java.awt.image.*; javax.imageio.*;

WritableRaster writeRaster = (WritableRaster)((BufferedImage)encryptImag e).getRaster(); Image image = ImageIO.read(fileChooser.getSelectedFile()); public boolean checkImage() { boolean flag = false; try { int imageSize = (imageIcon.getIconHeight()*image Icon.getIconWidth()); int textSize = ((4*textAreaInput.getText().lengt h())+(4*strKey.length())); int totalSize = (12+textSize+(2*imageIcon.getIco nWidth())); if(totalSize>imageSize) { JOptionPane.showMessageDialog((Component )null, " Image Size Too Small." ,"ERROR",JOptionPane.ERROR_MESSAGE); return false; } else { flag = true; return true; } } catch(Exception e) { flag = false; } if(flag) { return true; } else return false; }

///////////////////////////////For Encrypting The Flag On Image On First row ////////////// try { for( int i=0;i<Width;i++) {

intRed = writeRaster.getSample(i,0,0); intGreen = writeRaster.getSample(i,0,1); //System.out.print("\n Red1 ="+intRed); //System.out.print(" Green1 ="+intGreen); String strRed =Integer.toBinaryString(intRed); String strGreen = Integer.toBinaryString(intGreen); strRed = strRed.substring(0,(strRed.length()-1)); strRed = strRed+"1"; intRed = binaryToInt(strRed); //System.out.print(" Red2 ="+intRed); //System.out.print(" Green2 ="+intGreen); strGreen = strGreen.substring(0,(strGreen.length()-1)); strGreen = strGreen+"1"; intGreen = binaryToInt(strGreen); //System.out.println("Column = "+i+" "+strRed+" "+strGreen) ; writeRaster.setSample(i,0,0,intRed); writeRaster.setSample(i,0,1,intGreen); } } catch(Exception E) { JOptionPane.showMessageDialog(null, " Error Occur While Reading Image.","ERROR1",JOp tionPane.ERROR_MESSAGE); } if(checkEncrypted) { String strKeyLength = Integer.toBinaryString(Key.length()); while(strKeyLength.length()<4) { strKeyLength = "0"+strKeyLength; } //System.out.print("\n Key Length In Binary ="+strKeyLength); int keyLenghtIndex=0; row++; column=0; try { for( int i=column;i<2;i++) { intRed = writeRaster.getSample(column,row,0); intGreen = writeRaster.getSample(column,row,1); String strRed =Integer.toBinaryString(intRed); String strGreen = Integer.toBinaryString(intGreen); //System.out.print(" \n\n Red Before Encryption ="+strRed); //System.out.print(" Green Before Encryption ="+strGreen); strRed = strRed.substring(0,(strRed.length()-1)); strRed = strRed + String.valueOf(strKeyLength.charAt(keyLenghtIn dex++)); intRed = binaryToInt(strRed);

strGreen = strGreen.substring(0,(strGreen.length()-1)); strGreen = strGreen+String.valueOf(strKeyLength.charAt(keyLenght Index++)); intGreen = binaryToInt(strGreen); //System.out.print(" \n Red After Encryption ="+strRed); //System.out.print(" Green After Encryption ="+strGreen); writeRaster.setSample(i,row,0,intRed); writeRaster.setSample(i,row,1,intGreen); column++; } } catch(Exception e) { JOptionPane.showMessageDialog(null, " Error Occur While Reading Image.","ERROR2",JOp tionPane.ERROR_MESSAGE); checkEncrypted = false; } } /////////////////////////////Storing Actual Key ///////////////////////////// // //System.out.println("\n\n Storing Actual Key ."); if(checkEncrypted) { for(int i=0;i<Key.length();i++) { //////////////////storing single character of the key/// /////// //System.out.print("\n Char = "+Key.charAt(i)); int intChar = ((int)Key.charAt(i)); //System.out.print("/// char in int "+intChar); String strChar = Integer.toBinaryString(intChar); while(strChar.length()<8) { strChar = "0"+strChar; } //System.out.print("/// char in binary ="+strChar); if(column==(Width-1)) { column = 0; row++; } int bitOne = writeRaster.getSample(column,row,0); String strBitOne = Integer.toBinaryString(bitOne); strBitOne = strBitOne.substring(0,(strBitOne.length()-1) ); strBitOne = strBitOne+strChar.charAt(0); bitOne = binaryToInt(strBitOne); writeRaster.setSample(column,row,0,bitOne); //System.out.println("\n Red = "+strBitOne); if(column==(Width-1)) { column = 0; row++; }

int bitTwo = writeRaster.getSample(column,row,1); String strBitTwo = Integer.toBinaryString(bitTwo); strBitTwo = strBitTwo.substring(0,(strBitTwo.length()-1) ); strBitTwo = strBitTwo+strChar.charAt(1); bitTwo = binaryToInt(strBitTwo); writeRaster.setSample(column++,row,1,bitTwo); //System.out.println(" Green = "+strBitTwo); if(column==(Width-1)) { column = 0; row++; } int bitThree = writeRaster.getSample(column,row,0); String strBitThree = Integer.toBinaryString(bitThree); strBitThree = strBitThree.substring(0,(strBitThree.lengt h()-1)); strBitThree = strBitThree+strChar.charAt(2); bitThree = binaryToInt(strBitThree); writeRaster.setSample(column,row,0,bitThree); //System.out.println(" Red = "+strBitThree); if(column==(Width-1)) { column = 0; row++; } int bitFour = writeRaster.getSample(column,row,1); String strBitFour = Integer.toBinaryString(bitFour); strBitFour = strBitFour.substring(0,(strBitFour.length() -1)); strBitFour = strBitFour+strChar.charAt(3); bitFour = binaryToInt(strBitFour); writeRaster.setSample(column++,row,1,bitFour); //System.out.println(" Green = "+strBitFour); if(column==(Width-1)) { column = 0; row++; } int bitFive = writeRaster.getSample(column,row,0); String strBitFive = Integer.toBinaryString(bitFive); strBitFive = strBitFive.substring(0,(strBitFive.length() -1)); strBitFive = strBitFive+strChar.charAt(4); bitFive = binaryToInt(strBitFive); writeRaster.setSample(column,row,0,bitFive); //System.out.println(" Red = "+strBitFive); if(column==(Width-1)) { column = 0;

row++; } int bitSix = writeRaster.getSample(column,row,1); String strBitSix = Integer.toBinaryString(bitSix); strBitSix = strBitSix.substring(0,(strBitSix.length()-1) ); strBitSix = strBitSix+strChar.charAt(5); bitSix = binaryToInt(strBitSix); writeRaster.setSample(column++,row,1,bitSix); //System.out.println(" Green = "+strBitSix); if(column==(Width-1)) { column = 0; row++; } int bitSeven = writeRaster.getSample(column,row,0); String strBitSeven = Integer.toBinaryString(bitSeven); strBitSeven = strBitSeven.substring(0,(strBitSeven.lengt h()-1)); strBitSeven = strBitSeven+strChar.charAt(6); bitSeven = binaryToInt(strBitSeven); writeRaster.setSample(column,row,0,bitSeven); //System.out.println(" Red = "+strBitSeven); if(column==(Width-1)) { column = 0; row++; } int bitEight = writeRaster.getSample(column,row,1); String strBitEight = Integer.toBinaryString(bitEight); strBitEight = strBitEight.substring(0,(strBitEight.lengt h()-1)); strBitEight = strBitEight+strChar.charAt(7); bitEight = binaryToInt(strBitEight); writeRaster.setSample(column++,row,1,bitEight); //System.out.println(" Green = "+strBitEight); if(column==(Width-1)) { column = 0; row++; } } } public int binaryToInt(String strBinary) { int mainInt =0; int power =0; int result=0; for(int i=(strBinary.length()-1);i>=0;i--) { String strInt = String.valueOf(strBinary.charAt(i)); mainInt = Integer.parseInt(strInt);

result = result +(mainInt*((int)Math.pow(2,power++))); } // System.out.println("Result = "+result); return result; }

You might also like