📄 rsa.java
字号:
jButton213.setEnabled(false);
jButton213.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
saveFile(6);
}
});
}
return jButton213;
}
/**
* This method initializes jButton222
*
* @return javax.swing.JButton
*/
private JButton getJButton222() {
if (jButton222 == null) {
jButton222 = new JButton();
jButton222.setBounds(new Rectangle(534, 388, 70, 16));
jButton222.setText("读取");
jButton222.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
loadFile(3);
}
});
}
return jButton222;
}
/**
* This method initializes jButton223
*
* @return javax.swing.JButton
*/
private JButton getJButton223() {
if (jButton223 == null) {
jButton223 = new JButton();
jButton223.setBounds(new Rectangle(534, 474, 70, 16));
jButton223.setText("读取");
jButton223.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
loadFile(6);
}
});
}
return jButton223;
}
/**
* This method initializes jButton224
*
* @return javax.swing.JButton
*/
private JButton getJButton224() {
if (jButton224 == null) {
jButton224 = new JButton();
jButton224.setBounds(new Rectangle(534, 201, 70, 16));
jButton224.setText("读取");
jButton224.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
loadFile(4);
}
});
}
return jButton224;
}
/**
* This method initializes jButton214
*
* @return javax.swing.JButton
*/
private JButton getJButton214() {
if (jButton214 == null) {
jButton214 = new JButton();
jButton214.setBounds(new Rectangle(632, 201, 70, 16));
jButton214.setText("\u4fdd\u5b58");
jButton214.setEnabled(false);
jButton214.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent e) {
saveFile(4);
}
});
}
return jButton214;
}
/**
* This method initializes jRadioButton2
*
* @return javax.swing.JRadioButton
*/
private JRadioButton getJRadioButton2() {
if (jRadioButton2 == null) {
try {
jRadioButton2 = new JRadioButton();
jRadioButton2.setBounds(new Rectangle(358, -1, 21, 21));
jRadioButton2.setToolTipText("无限制的模式");
jRadioButton2.setSelected(true);
jRadioButton2.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusGained(java.awt.event.FocusEvent e) {
jRadioButton1.setSelected(false);
jRadioButton.setSelected(false);
jButton121.setEnabled(true);
jButton12.setEnabled(true);
jButton311.setEnabled(true);
jButton31.setEnabled(true);
jButton.setEnabled(true);
jButton3.setEnabled(true);
jButton224.setEnabled(true);
jButton2.setEnabled(true);
jButton24.setEnabled(true);
jTextArea.setText("");
jTextArea1.setText("");
jTextArea4.setText("");
}
});
} catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jRadioButton2;
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel(UIManager
.getSystemLookAndFeelClassName());
} catch (Exception e) {
throw new RuntimeException(e);
}
Rsa thisClass = new Rsa();
thisClass.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
thisClass.setVisible(true);
}
});
}
public Rsa() {
super();
initialize();
}
private void initialize() {
this.setSize(800, 600);
this.setResizable(false);
this.setContentPane(getJContentPane());
this.setTitle("RSA加密解密程序");
}
private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel6 = new JLabel();
jLabel6.setBounds(new Rectangle(388, 2, 54, 15));
jLabel6.setText("超级模式");
jLabel5 = new JLabel();
jLabel5.setBounds(new Rectangle(19, 344, 87, 22));
jLabel5.setHorizontalAlignment(SwingConstants.CENTER);
jLabel5.setText("块大小");
jLabel23 = new JLabel();
jLabel23.setBounds(new Rectangle(421, 476, 69, 15));
jLabel23.setText("加密私钥");
jLabel23.setHorizontalAlignment(SwingConstants.CENTER);
jLabel22 = new JLabel();
jLabel22.setBounds(new Rectangle(21, 474, 89, 15));
jLabel22.setText("加密公钥");
jLabel22.setHorizontalAlignment(SwingConstants.CENTER);
jLabel4 = new JLabel();
jLabel4.setBounds(new Rectangle(591, 14, 46, 18));
jLabel4.setText("");
jLabel311 = new JLabel();
jLabel311.setBounds(new Rectangle(420, 199, 76, 20));
jLabel311.setText("数字签名");
jLabel31 = new JLabel();
jLabel31.setBounds(new Rectangle(492, 40, 46, 15));
jLabel31.setText("密文");
jLabel3 = new JLabel();
jLabel3.setBounds(new Rectangle(58, 42, 26, 15));
jLabel3.setText("明文");
jLabel21 = new JLabel();
jLabel21.setBounds(new Rectangle(420, 388, 69, 15));
jLabel21.setText("签名私钥");
jLabel21.setHorizontalAlignment(SwingConstants.CENTER);
jLabel2 = new JLabel();
jLabel2.setBounds(new Rectangle(19, 390, 91, 15));
jLabel2.setHorizontalAlignment(SwingConstants.CENTER);
jLabel2.setText("签名公钥");
jLabel1 = new JLabel();
jLabel1.setBounds(new Rectangle(387, 38, 53, 15));
jLabel1.setText("接收模式");
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(388, 20, 51, 15));
jLabel.setText("发送模式");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJRadioButton(), null);
jContentPane.add(getJRadioButton1(), null);
jContentPane.add(jLabel, null);
jContentPane.add(jLabel1, null);
jContentPane.add(getJScrollPane(), null);
jContentPane.add(getJScrollPane1(), null);
jContentPane.add(getJButton1(), null);
jContentPane.add(getJButton2(), null);
jContentPane.add(getJScrollPane2(), null);
jContentPane.add(getJScrollPane4(), null);
jContentPane.add(getJScrollPane5(), null);
jContentPane.add(getJScrollPane6(), null);
jContentPane.add(getJButton(), null);
jContentPane.add(getJButton3(), null);
jContentPane.add(getJButton11(), null);
jContentPane.add(getJButton21(), null);
jContentPane.add(getJButton22(), null);
jContentPane.add(getJButton12(), null);
jContentPane.add(getJButton31(), null);
jContentPane.add(getJScrollPane3(), null);
jContentPane.add(jLabel2, null);
jContentPane.add(jLabel21, null);
jContentPane.add(jLabel3, null);
jContentPane.add(jLabel31, null);
jContentPane.add(jLabel311, null);
jContentPane.add(getJButton121(), null);
jContentPane.add(getJButton311(), null);
jContentPane.add(jLabel4, null);
jContentPane.add(getJButton24(), null);
jContentPane.add(jLabel22, null);
jContentPane.add(jLabel23, null);
jContentPane.add(jLabel5, null);
jContentPane.add(getJTextField(), null);
jContentPane.add(getJButton221(), null);
jContentPane.add(getJButton211(), null);
jContentPane.add(getJButton212(), null);
jContentPane.add(getJButton213(), null);
jContentPane.add(getJButton222(), null);
jContentPane.add(getJButton223(), null);
jContentPane.add(getJButton224(), null);
jContentPane.add(getJButton214(), null);
jContentPane.add(getJRadioButton2(), null);
jContentPane.add(jLabel6, null);
}
return jContentPane;
}
private JFileChooser getJFileChooser() {
if (jFileChooser == null) {
jFileChooser = new javax.swing.JFileChooser();
jFileChooser.setMultiSelectionEnabled(false);
}
return jFileChooser;
}
private void loadFile(int button) {
int state = getJFileChooser().showOpenDialog(this);
String text="";
if (state == JFileChooser.APPROVE_OPTION) {
File f = getJFileChooser().getSelectedFile();
try {
BufferedReader br = new BufferedReader(new FileReader(f));
ObjectInputStream in=new ObjectInputStream(new FileInputStream(f));
String s=new String();
s=br.readLine();
while (s!=null){
text+=(s+'\n');
s=br.readLine();
}
if (button==0){
jButton1.setEnabled(true);
jTextArea.setText(text);
if (jButton211.isEnabled()){
jButton12.setEnabled(true);
}
}
else if (button==1){
jTextArea1.setText(text);
jButton11.setEnabled(true);
}
else if (button==4){
try {
jTextArea4.setText(text);
jButton214.setEnabled(true);
} catch (Exception e) {
}
if (jButton21.isEnabled()){
jButton311.setEnabled(true);
}
}
else if (button==2){
try {
signpubkey=(PublicKey) in.readObject();
jTextArea2.setText(signpubkey.toString());
jButton21.setEnabled(true);
} catch (Exception e) {
}
}
else if (button==3){
try {
signprikey=(PrivateKey) in.readObject();
jTextArea3.setText(signprikey.toString());
jButton212.setEnabled(true);
} catch (Exception e) {
}
if (!jTextArea4.getText().equals("")){
jButton121.setEnabled(true);
}
}
else if (button==5){
try {
pubkey=(PublicKey) in.readObject();
jTextArea5.setText(pubkey.toString());
jButton211.setEnabled(true);
} catch (Exception e) {
}
if (!jTextArea.getText().equals("")){
jButton12.setEnabled(true);
}
}
else if (button==6){
try {
prikey=(PrivateKey) in.readObject();
jTextArea6.setText(prikey.toString());
jButton213.setEnabled(true);
} catch (Exception e) {
}
}
br.close();
in.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
private void saveFile(int num) {
int state = getJFileChooser().showSaveDialog(this);
if (state == JFileChooser.APPROVE_OPTION) {
File f = getJFileChooser().getSelectedFile();
try {
BufferedWriter bw = new BufferedWriter(new FileWriter(f));
ObjectOutputStream out=new ObjectOutputStream(new FileOutputStream(f));
if (num==0){getJTextArea().write(bw);}
else if (num==1){getJTextArea1().write(bw);}
else if (num==4){getJTextArea4().write(bw);}
else if (num==2){out.writeObject(signpubkey);}
else if (num==3){out.writeObject(signprikey);}
else if (num==5){out.writeObject(pubkey);}
else if (num==6){out.writeObject(prikey);}
bw.close();
} catch (FileNotFoundException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -