jiemi.java

来自「这个一个对文件进行解密的程序」· Java 代码 · 共 46 行

JAVA
46
字号
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


import java.io.*;
import javax.swing.JOptionPane;
public class Jiemi {
    public static void main(String[] args)throws IOException{
     String secre=JOptionPane.showInputDialog(null,"文件已加密请输入您的密码来解密:");//获取解密的密钥
      FileInputStream Input=new FileInputStream("加密后的文件.txt");//读取密文
      byte [] x=new byte[300];
      char[] m=new char[300];
      Input.read(x);//将密文读取到x数组中,以便进行异或操作来解密
      for(int k=0;x[k]!=0;k++)
      {
          m[k]=(char)x[k];
          System.out.println(m[k]);//调试语句 
      }
      char[]   b   =(secre+"****************************************************" +
              "*****************************************************************" +
              "*******************************************************************" +
              "**************************************************************" +
              "*************************************************").toCharArray();
      //还原密钥
      for   (int   i   =   0; m[i]!='&';i++) {
          m[i]   =   (char)   (m[i]   ^ b[i]);//用密钥和密文进行异或,用于解密
          System.out.println(m[i]);//调试语句
          if(m[i]=='&') break;
      }
      byte[] p=new byte[70];
      char[] n=new char[70];
      for(int i=0;m[i]!='&';){
          n[i]=m[i];
          p[i]=(byte)n[i];
          i++;
      }
      FileOutputStream output=new FileOutputStream("加密后的文件.txt");
      output.write(p);//保存解密后的原文
      String   secret1   =   new   String(n);
      JOptionPane.showMessageDialog(null,secret1,"解密后的原文:",JOptionPane.QUESTION_MESSAGE);
    }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?