有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我的代码中有什么可以识别为病毒?

当我完成家庭任务时,出现错误“找不到或加载主类”。 我花了将近20分钟完全不理解。原因是“卡巴斯基反病毒”,它阻止了我的课堂。班级
这是代码,任何人都知道,卡巴斯基能识别的病毒是什么

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

public class CryptoUtil extends JFrame{
    private String keyWord;
    private JFileChooser inputFileChooser = new JFileChooser();
    private JButton openFileChooser = new JButton("Выбрать файл");
    private JTextField inputKeyWord = new JTextField();
    private JButton operate = new JButton("Выполнить");
    private File inputFile;
    private File encode;
    private File decode;
    private String inputData;


public CryptoUtil(){
    initFrame();
}

public void initFrame(){
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    this.setTitle("Шифратор/дешифратор XOR");
    this.setLayout(new GridLayout(3, 1));
    this.setSize(300, 100);
    operate.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            try {
                operate();
                Desktop.getDesktop().open(new File(encode.getParent()));
            } catch (IOException e1) {
                e1.printStackTrace();
            }

        }
    });
    openFileChooser.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            inputFileChooser.showOpenDialog(CryptoUtil.this);
        }
    });
    this.add(openFileChooser);
    this.add(inputKeyWord);
    this.add(operate);
}

public void operate() throws IOException {
    keyWord = inputKeyWord.getText();
    inputFile = inputFileChooser.getSelectedFile();
    encode = new File(inputFile.getParent() + "//encode.txt");
    decode = new File(inputFile.getParent() + "//decode.txt");
    BufferedReader br = new BufferedReader(new FileReader(inputFile));
    StringBuilder sb = new StringBuilder();
    String line = br.readLine();
    while (line != null) {
        sb.append(line);
        sb.append(System.lineSeparator());
        line = br.readLine();
    }
    inputData = sb.toString();
    br.close();
    PrintWriter writerEn = new PrintWriter(encode, "UTF-8");
    writerEn.print(encrypt(inputData, keyWord));
    writerEn.close();
    PrintWriter writerDe = new PrintWriter(decode, "UTF-8");
    writerDe.print(decrypt(encrypt(inputData, keyWord), keyWord));
    writerDe.close();
}


public byte[] encrypt(String text, String keyWord){
    byte[] arr = text.getBytes();
    byte[] keyArr = keyWord.getBytes();
    byte[] result = new byte[arr.length];
    for(int i = 0; i < arr.length; i++){
        result[i] = (byte) (arr[i] ^ keyArr[i % keyArr.length]);
    }
    return result;
}

public String decrypt(byte[] text, String keyWord){
    byte[] result  = new byte[text.length];
    byte[] keyArr = keyWord.getBytes();
    for(int i = 0; i < text.length;i++){
        result[i] = (byte) (text[i] ^ keyArr[i% keyArr.length]);
    }
    return new String(result);
}

public static void main(String[] args) {
    new CryptoUtil().setVisible(true);
}

}


共 (1) 个答案

  1. # 1 楼答案

    你可以把你的文件添加到卡巴斯基防病毒软件中,我也一样,它肯定不会是病毒