資源簡介
java實現簡單的RSA算法的實現,采用了素數檢測算法,包含了費馬檢測等等

代碼片段和文件信息
package?com.data.rsa;
import?java.awt.BorderLayout;
import?java.awt.EventQueue;
import?java.awt.GridLayout;
import?javax.swing.Jframe;
import?javax.swing.JLabel;
import?javax.swing.JPanel;
import?javax.swing.border.EmptyBorder;
import?javax.swing.JTextField;
import?java.awt.CardLayout;
import?javax.swing.JButton;
import?java.awt.event.ActionListener;
import?java.awt.event.ActionEvent;
/**
?*?@author?浩子
?*2018年12月1日
?*/
public?class?main?extends?Jframe?{
private?JPanel?contentPane;
private?JLabel?label1;
private?JTextField?text1;
private?JTextField?text2;
private?JTextField?text3;
private?JLabel?label2;
private?JLabel?label3;
private?JButton?btn1;
private?JButton?btn2;
private?JButton?btn3;
private?RSA?rsa?=?null;
/**
?*?Launch?the?application.
?*/
public?static?void?main(String[]?args)?{
EventQueue.invokeLater(new?Runnable()?{
public?void?run()?{
try?{
main?frame?=?new?main();
frame.setVisible(true);
}?catch?(Exception?e)?{
e.printStackTrace();
}
}
});
}
/**
?*?Create?the?frame.
?*/
public?main()?{
setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
setBounds(100?100?450?300);
contentPane?=?new?JPanel();
contentPane.setBorder(new?EmptyBorder(5?5?5?5));
setContentPane(contentPane);
contentPane.setLayout(new?GridLayout(4355));
label1?=?new?JLabel(“明文:“);
text1?=?new?JTextField(““);
label2?=?new?JLabel(“密文:“);
text2?=?new?JTextField(““);
label3?=?new?JLabel(“操作結果:“);
text3?=?new?JTextField(““);
btn1?=?new?JButton(“加密“);
btn1.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
if(text1.getText()?==?null?||?equals(text1.getText())){
text3.setText(“請先輸入明文“);
}
rsa?=?new?RSA();
int?M?=?Integer.valueOf(text1.getText());
rsa.setM(M);
String?result?=?String.valueOf(rsa.c_RSA());
text2.setText(result);
text3.setText(“RSA加密成功,加密結果為:“+result);
}
});
btn2?=?new?JButton(“解密“);
btn2.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
if(rsa==null){
text3.setText(“請先輸入明文加密“);
}else{
int?result?=?rsa.m_RSA();
text1.setText(““);
text3.setText(“RSA解密成功,明文為:“+result);
}
}
});
btn3?=?new?JButton(“退出“);
btn3.addActionListener(new?ActionListener()?{
public?void?actionPerformed(ActionEvent?e)?{
System.exit(0);
}
});
????????????
????????????contentPane.add(label1);??
????????????contentPane.add(text1);??
????????????contentPane.add(btn1);??
????????????contentPane.add(label2);??
????????????contentPane.add(text2);??
????????????contentPane.add(btn2);
????????????contentPane.add(label3);??
????????????contentPane.add(text3);??
????????????contentPane.add(btn3);
contentPane.setVisible(true);?
}
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????18028??2018-12-01?13:43??RSA.jar
?????目錄???????????0??2018-12-01?23:21??src\
?????目錄???????????0??2018-12-01?23:21??src\com\
?????目錄???????????0??2018-12-01?23:21??src\com\data\
?????目錄???????????0??2018-12-01?23:21??src\com\data\rsa\
?????文件????????2129??2018-12-01?13:01??src\com\data\rsa\ModUtils.java
?????文件????????2167??2018-12-01?13:04??src\com\data\rsa\PrimeTest.java
?????文件????????2413??2018-12-01?13:03??src\com\data\rsa\RSA.java
?????文件????????2874??2018-12-01?23:04??src\com\data\rsa\RSAUtil.java
?????文件????????3022??2018-12-01?13:41??src\com\data\rsa\main.java
- 上一篇:JAVA實現BGN同態加密算法
- 下一篇:JAVA分數計算器
評論
共有 條評論