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

Home » Java Home » Java Swing Home » Steganongrapy using Audio ( Project )

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

Search Projects & Source Codes:

Title Steganongrapy using Audio ( Project )
Author Langesh
Author Email langeshd [at] rediffmail.com
Description In this project, the message is encoded with audio file for the secure transfer.
Category Java » Java Swing
Hits 29502
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("Swathe 1.0 - 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 : M.Dayananthan, D.Langesh, M.Vanitha"); 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("d:\temp.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 the Key","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 Not Opened","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 the Key","Error",JOptionPane.ERROR_MESSAGE); else { // decrypt message int key=Integer.parseInt(Dkey); Audiodecrypt(Ofilename,key); Cdecrypt=1; } } else JOptionPane.showMessageDialog(this,"File Not Opened","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 Not Opened","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 Is playing","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 Not Selected","Error",JOptionPane.ERROR_MESSAGE); else { name=tempfilename.getName(); if(!(name.endsWith(".wav"))) JOptionPane.showMessageDialog(this,"Select Only Wav","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("d:\temp.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
sun Steganography B.Rajavel
Connecting Java with MS-Access - Inserting data in Aseem

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
Copyright ©2003-2017 SourceCodesWorld.com, All Rights Reserved.
Page URL: http://www.sourcecodesworld.com/source/show.asp?ScriptID=781


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