⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 steganongrapy using audio ( project ).txt

📁 Java Based Stenography(Audio) Implementation
💻 TXT
📖 第 1 页 / 共 2 页
字号:
    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 + -