📄 steganongrapy using audio ( project ).txt
字号:
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -