• 大小: 22KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: Java
  • 标签: java  RSA  

资源简介

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

评论

共有 条评论