Add to Favorites    Make Home Page 5800 Online  
 Language Categories  
 Our Services  

Home » Java Home » Java Swing Home » sun Steganography

A D V E R T I S E M E N T

Search Projects & Source Codes:

Title sun Steganography
Author B.Rajavel
Author Email rajavel2005 [at] sify.com
Description simple Steganography program(Encoding and decoding wav file
using crypt algorithm)
Category Java » Java Swing
Hits 419351
Code Select and Copy the Code
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.net.*; import java.io.*; import java.util.*; import sun.audio.*; import java.applet.*; import java.math.*; class mainframe extends JFrame implements ActionListener,Runnable { JLabel Lfilename,Lmessage,Ldesign,Ltitle; JButton Bplay,Bopen,Bsave,Bstop,Bencrypt,Bdecrypt,Bsend,Bclear; JTextArea Amessage; JTextField Tfilename; Icon Iplay,Iopen,Istop,Isave; String Ekey,Dkey,address,name; JFileChooser filechooser; File Ofilename,Sfilename,tempfilename; InetAddress ipaddress; int Copened,Cencrypt,Cdecrypt,Cplay,Cstop,Csave; InputStream ins; AudioStream as; Thread t; public mainframe()throws Exception { // frame super("Steganography Using Audio"); Container con=getContentPane(); con.setLayout(null); // Basic Copened=0; Cencrypt=0; Cdecrypt=0; Cplay=0; Csave=0; Cstop=0; t=new Thread(this); t.start(); // Icons Iplay=new ImageIcon("c:/Icon/play.gif"); Isave=new ImageIcon("c:/Icon/save.gif"); Iopen=new ImageIcon("c:/Icon/open.gif"); Istop=new ImageIcon("c:/Icon/stop1.gif"); // file chooser filechooser=new JFileChooser(); filechooser.setFileSelectionMode(JFileChooser.FILES_ONLY); // comp Ltitle=new JLabel("Steganography Using Audio"); Ldesign=new JLabel("Designed By : B.Rajavel"); Lfilename=new JLabel("File Name "); Lmessage=new JLabel("Message "); Bplay=new JButton("",Iplay); Bopen=new JButton("",Iopen); Bsave=new JButton("",Isave); Bstop=new JButton("",Istop); Bclear=new JButton("Clear"); Bencrypt=new JButton("Encoding"); Bdecrypt=new JButton("Decoding"); Bsend=new JButton("Send"); Amessage=new JTextArea(); Tfilename=new JTextField(); // tool tips Tfilename.setToolTipText("Opened filename"); Bplay.setToolTipText("play"); Bopen.setToolTipText("open"); Bsave.setToolTipText("save"); Bstop.setToolTipText("stop"); Tfilename.setEditable(false); // Bounds Ltitle.setBounds(300,30,250,25); Lfilename.setBounds(100,100,100,25); Tfilename.setBounds(100,125,230,25); Lmessage.setBounds(450,100,100,25); Amessage.setBounds(450,125,300,220); Bclear.setBounds(450,370,80,22); Bplay.setBounds(100,200,50,25); Bstop.setBounds(160,200,50,25); Bopen.setBounds(220,200,50,25); Bsave.setBounds(280,200,50,25); Bencrypt.setBounds(100,250,110,25); Bdecrypt.setBounds(220,250,110,25); Bsend.setBounds(160,300,110,25); Ldesign.setBounds(350,420,400,50); // add con.add(Ltitle); con.add(Ldesign); con.add(Lfilename); con.add(Tfilename); con.add(Lmessage); con.add(Amessage); con.add(Bclear); con.add(Bplay); con.add(Bopen); con.add(Bsave); con.add(Bstop); con.add(Bencrypt); con.add(Bdecrypt); con.add(Bsend); // actionListener Bclear.addActionListener(this); Bplay.addActionListener(this); Bopen.addActionListener(this); Bsave.addActionListener(this); Bstop.addActionListener(this); Bencrypt.addActionListener(this); Bdecrypt.addActionListener(this); Bsend.addActionListener(this); } // constr of mainframe public void run() { try { recv r=new recv(); } catch(Exception e) { System.out.println(e); } } public void Audioencrypt(String message,File file,int key) throws Exception { byte b[]=new byte[1]; BigInteger Abi,Mbi; int k,k1; InputStream ins=new FileInputStream(file); OutputStream outs=new FileOutputStream(new File("c:/pop8.wav")); for(int c=0;c<key;c++) { int ch=ins.read(); outs.write(ch); } int len=message.length(); byte mess[]=new byte[1]; char chmess[]=new char[len+1]; k=k1=0; for(int i=0;i<=len;i++) { message.getChars(0,len,chmess,0); if(i==0) { BigDecimal bd=new BigDecimal(len); BigInteger Blen=bd.toBigInteger(); String Slen=Blen.toString(2); char Clen[]=new char[Blen.bitLength()]; Slen.getChars(0,Blen.bitLength(),Clen,0); for(int j=0;j<=7;j++) { if(j==0) { for(k=0;k<8-Blen.bitLength();k++) { int n=ins.read(b); Abi=new BigInteger(b); String Aby=Abi.toString(2); int Alen=Abi.bitLength(); if(b[0]<0) Alen++; char Ach[]=new char[Alen+1]; Aby.getChars(0,Alen,Ach,0); if(b[0]==0) { } else { if(Ach[Alen-1]=='1') { if(Alen==Abi.bitLength()) { BigInteger bi=new BigInteger("11111110",2); BigInteger big=Abi.and(bi); b=big.toByteArray(); } else { BigInteger bi=new BigInteger("-1",2); BigInteger big=Abi.subtract(bi); b=big.toByteArray(); } } outs.write(b); } } //for loop k j=j+k-1; } // if of j else { int n=ins.read(b); Abi=new BigInteger(b); String Aby=Abi.toString(2); int Alen=Abi.bitLength(); if(b[0]<0) Alen++; char Ach[]=new char[Alen+1]; Aby.getChars(0,Alen,Ach,0); if(b[0]==0) { Alen=1; } if(Clen[j-k]=='0' && Ach[Alen-1]=='1') { if(Alen==Abi.bitLength()) { BigInteger bi=new BigInteger("11111110",2); BigInteger big=Abi.and(bi); b=big.toByteArray(); } else { BigInteger bi=new BigInteger("-1",2); BigInteger big=Abi.subtract(bi); b=big.toByteArray(); } } else if(Clen[j-k]=='1' && Ach[Alen-1]=='0') { if(Alen==Abi.bitLength()) { BigInteger bi=new BigInteger("1",2); BigInteger big=Abi.add(bi); b=big.toByteArray(); } else { BigInteger bi=new BigInteger("-1",2); BigInteger big=Abi.add(bi); b=big.toByteArray(); } } outs.write(b); } // end else } // for loop j } // end of if else { String slen=String.valueOf(chmess[i-1]); byte blen[]=slen.getBytes(); BigInteger Blen=new BigInteger(blen); String Slen=Blen.toString(2); char Clen[]=new char[Blen.bitLength()]; Slen.getChars(0,Blen.bitLength(),Clen,0); for(int j=0;j<=7;j++) { if(j==0) { for(k1=0;k1<8-Blen.bitLength();k1++) { int n=ins.read(b); Abi=new BigInteger(b); String Aby=Abi.toString(2); int Alen=Abi.bitLength(); if(b[0]<0) Alen++; char Ach[]=new char[Alen+1]; Aby.getChars(0,Alen,Ach,0); if(b[0]==0) { } else { if(Ach[Alen-1]=='1') { if(Alen==Abi.bitLength()) { BigInteger bi=new BigInteger("11111110",2); BigInteger big=Abi.and(bi); b=big.toByteArray(); } else { BigInteger bi=new BigInteger("-1",2); BigInteger big=Abi.subtract(bi); b=big.toByteArray(); } } } outs.write(b); } //for loop k j=j+k1-1; } // if of j else { int n=ins.read(b); Abi=new BigInteger(b); String Aby=Abi.toString(2); int Alen=Abi.bitLength(); if(b[0]<0) Alen++; char Ach[]=new char[Alen+1]; Aby.getChars(0,Alen,Ach,0); if(b[0]==0) { Alen=1; } if(Clen[j-k1]=='0' && Ach[Alen-1]=='1') { if(Alen==Abi.bitLength()) { BigInteger bi=new BigInteger("11111110",2); BigInteger big=Abi.and(bi); b=big.toByteArray(); } else { BigInteger bi=new BigInteger("-1",2); BigInteger big=Abi.subtract(bi); b=big.toByteArray(); } } else if(Clen[j-k1]=='1' && Ach[Alen-1]=='0') { if(Alen==Abi.bitLength()) { BigInteger bi=new BigInteger("1",2); BigInteger big=Abi.add(bi); b=big.toByteArray(); } else { BigInteger bi=new BigInteger("-1",2); BigInteger big=Abi.add(bi); b=big.toByteArray(); } } outs.write(b); } // end else } // for loop j } // end of else } // for loop i while(true) { int i=ins.read(); if(i==-1) break; outs.write(i); } ins.close(); outs.close(); } public void Audiodecrypt(File filename,int key)throws Exception { InputStream ins=new FileInputStream(filename); byte b[]=new byte[1]; BigInteger bb1; char mess[]=new char[8]; int c=0; for(int i=0;i<key;i++) { int n=ins.read(); } for(int i=0;i<8;i++) { ins.read(b); bb1=new BigInteger(b); String str=bb1.toString(2); int len=bb1.bitLength(); if(b[0]<0) len++; char ch[]=new char[len+1]; str.getChars(0,len,ch,0); if(b[0]==0) mess[i]='0'; else mess[i]=ch[len-1]; } String dd=new String(mess); BigInteger bb=new BigInteger(dd,2); String s=bb.toString(2); int l=bb.intValue(); char me[]=new char[l]; int count=0; for(int m=0;m<l;m++) { for(int i=0;i<8;i++) { ins.read(b); bb1=new BigInteger(b); String str=bb1.toString(2); int len=bb1.bitLength(); if(b[0]<0) len++; char ch[]=new char[len+1]; str.getChars(0,len,ch,0); if(b[0]==0) mess[i]='0'; else mess[i]=ch[len-1]; } String dd1=new String(mess); BigInteger bb2=new BigInteger(dd1,2); String s1=bb2.toString(2); int l1=bb2.intValue(); me[count]=(char)l1; count++; } String message=new String(me); Amessage.setText(message); ins.close(); } public void actionPerformed(ActionEvent ae) { try { // Action for encryption button if(ae.getSource()==Bencrypt) { if(Copened==1) { Ekey=JOptionPane.showInputDialog("Enter The Key For Encryption"); //String type if(Ekey.trim().equals("")) JOptionPane.showMessageDialog(this,"Enter theKey","Error",JOptionPane.ERROR_MESSAGE); else { // encrypt the message int key=Integer.parseInt(Ekey); Audioencrypt(Amessage.getText(),Ofilename,key); Cencrypt=1; } } else { JOptionPane.showMessageDialog(this,"File NotOpened","Error",JOptionPane.ERROR_MESSAGE); } } // end of Bencrypt // Action for Clear button else if(ae.getSource()==Bclear) { Amessage.setText(""); } // end of clear button // Action for Decrypt button else if(ae.getSource()==Bdecrypt) { if(Copened==1) { Dkey=JOptionPane.showInputDialog("Enter The Key For Decryption"); //String type if(Dkey.trim().equals("")) JOptionPane.showMessageDialog(this,"Enter theKey","Error",JOptionPane.ERROR_MESSAGE); else { // decrypt message int key=Integer.parseInt(Dkey); Audiodecrypt(Ofilename,key); Cdecrypt=1; } } else JOptionPane.showMessageDialog(this,"File NotOpened","Error",JOptionPane.ERROR_MESSAGE); } // end of Decrypt button // Action for Play button else if(ae.getSource()==Bplay) { if(Copened==1) { ins=new FileInputStream(Ofilename); as=new AudioStream(ins); AudioPlayer.player.start(as); Cplay=1; Cstop=0; } // start playing else JOptionPane.showMessageDialog(this,"File NotOpened","Error",JOptionPane.ERROR_MESSAGE); } // end of play button // Action for Stop button else if(ae.getSource()==Bstop) { if(Cplay==1) { Cplay=0; Cstop=1; AudioPlayer.player.stop(as); } // stop plaing else JOptionPane.showMessageDialog(this,"No Audio Isplaying","Error",JOptionPane.ERROR_MESSAGE); } // end of stop button // Action for open Button else if(ae.getSource()==Bopen) { int r=filechooser.showOpenDialog(this); tempfilename=filechooser.getSelectedFile(); //File type if(r==JFileChooser.CANCEL_OPTION) JOptionPane.showMessageDialog(this,"File NotSelected","Error",JOptionPane.ERROR_MESSAGE); else { name=tempfilename.getName(); if(!(name.endsWith(".wav"))) JOptionPane.showMessageDialog(this,"Select OnlyWav","Error",JOptionPane.ERROR_MESSAGE); else { Copened=1; Ofilename=tempfilename; Tfilename.setEditable(true); Tfilename.setText(name); Tfilename.setEditable(false); } } } // end of Open button // Action for Save Button else if(ae.getSource()==Bsave) { if(Copened==1 && Cencrypt==1 || Cdecrypt==1) { int r=filechooser.showSaveDialog(this); Sfilename=filechooser.getSelectedFile(); //File type InputStream in=new FileInputStream("c:/pop8.wav"); OutputStream out=new FileOutputStream(Sfilename); Ofilename=Sfilename; name=Sfilename.getName(); Tfilename.setEditable(true); Tfilename.setText(name); Tfilename.setEditable(false); while(true) { int i=in.read(); if(i==-1) break; out.write(i); } in.close(); out.close(); } else { String s; if(Copened==0) s="File not Opened"; else if(Cencrypt==0) s="Not Encrypted"; else s="Not Decrypted"; JOptionPane.showMessageDialog(this,s,"Error",JOptionPane.ERROR_MESSAGE); } } // end of save button // Action for send button else if(ae.getSource()==Bsend) { if(Copened==1 && Cencrypt==1) { address=JOptionPane.showInputDialog("Enter The IPaddress"); ipaddress=InetAddress.getByName(address); Socket socket=new Socket(ipaddress,6000); OutputStream out=socket.getOutputStream(); InputStream in=new FileInputStream(Ofilename); while(true) { int i=in.read(); if(i==-1) break; out.write(i); } in.close(); out.close(); } else { String s; if(Copened==1) s="Encryption not done"; else s="Open the File first"; JOptionPane.showMessageDialog(this,s,"Error",JOptionPane.ERROR_MESSAGE); } } } // end try catch(Exception e) { // JOptionPane.showMessageDialog(this,e,"Error",JOptionPane.ERROR_MESSAGE); } } // end of actionperformed }//end of class class recv extends JFrame implements Runnable { JFileChooser fc; ServerSocket ss; Socket s; InputStream ins; OutputStream out; byte b[]; int len; public recv() throws Exception { b=new byte[100]; fc=new JFileChooser(); fc.setFileSelectionMode(JFileChooser.FILES_ONLY); ss=new ServerSocket(6000); torun(); } public void torun() throws Exception { while(true) { s=ss.accept(); ins=s.getInputStream(); String str="Your have Receive An AudioFile.Save them"; JOptionPane.showMessageDialog(this,str,"Information",JOptionPane.INFORMATI ON_MESSAGE); int r=fc.showSaveDialog(this); File file=fc.getSelectedFile(); out=new FileOutputStream(file); Thread t=new Thread(this); t.start(); } } public void run() { try { while(true) { int n=ins.read(); if(n==-1) break; out.write(n); } // s.close(); ins.close(); out.close(); } catch(Exception e) { System.out.println(e); } } // end of run } //end of class public class techmeet1 { public static void main(String arg[])throws Exception { mainframe frame=new mainframe(); frame.setSize(800,600); frame.setVisible(true); frame.addWindowListener( new WindowAdapter() { public void windowClosing(WindowEvent we) { System.exit(0); } }); } // end of main } // end of class

Related Source Codes

Script Name Author
Sending mail Using JavaMail to Yahoo and Gmail accounts sai prasad
Simple Program in Java to Implement Multithreading Satish.K
Simple Calculator in Java Using Remote Method Invocation Satish.K
Guest Book Application Using Servlets Satish.K
String Manipulation Using Stringification Satish.K
String Manipulation Using Stringification Satish.K
Moving Ball Application Using Java Beans Satish.K
Rapid Roll game subrahmanyeswararao
student mgm arpan
Sourav Datta
Download Manager Sagar
Address Book in Java Rahul Chouhan
address book using java database connectivity(jdbc-msaccess) shekhar bansal
Connecting Java with MS-Access - Inserting data in Aseem
Address Book in Java Rahul Chouhan

A D V E R T I S E M E N T




Google Groups Subscribe to SourceCodesWorld - Techies Talk
Email:

Free eBook - Interview Questions: Get over 1,000 Interview Questions in an eBook for free when you join JobsAssist. Just click on the button below to join JobsAssist and you will immediately receive the Free eBook with thousands of Interview Questions in an ebook when you join.

New! Click here to Add your Code!


ASP Home | C Home | C++ Home | COBOL Home | Java Home | Pascal Home
Source Codes Home Page

 Advertisements  

Google Search

Google

Source Codes World.com is a part of Vyom Network.

Vyom Network : Web Hosting | Dedicated Server | Free SMS, GRE, GMAT, MBA | Online Exams | Freshers Jobs | Software Downloads | Interview Questions | Jobs, Discussions | Placement Papers | Free eBooks | Free eBooks | Free Business Info | Interview Questions | Free Tutorials | Arabic, French, German | IAS Preparation | Jokes, Songs, Fun | Free Classifieds | Free Recipes | Free Downloads | Bangalore Info | Tech Solutions | Project Outsourcing, Web Hosting | GATE Preparation | MBA Preparation | SAP Info | Software Testing | Google Logo Maker | Freshers Jobs

Sitemap | Privacy Policy | Terms and Conditions | Important Websites
Copyright ©2003-2024 SourceCodesWorld.com, All Rights Reserved.
Page URL: http://www.sourcecodesworld.com/source/show.asp?ScriptId=1177


Download Yahoo Messenger | Placement Papers | Free SMS | C Interview Questions | C++ Interview Questions | Quick2Host Review