private_key=value/this.public_key;
break;
}
}
returnprivate_key;
}
//得到密文
publiclonggetMyPrime(){
returnthis.colum(this.deprime,this.getN(),this.public_key);
}
publicStringgetStrPrime(){
returnLong.toString(this.getMyPrime());
}
//得到解密的文件
publiclonggetMyDeprime(){
returnthis.colum(this.getMyPrime(),this.getN(),this.getPrivate_key());
}
publicStringgetStrDeprime(){
returnLong.toString(this.getMyDeprime());
}
}
---------------------------------------------------------------------------------------------------------
package.rsa.frame;
importjava.awt.BorderLayout;
importjava.awt.Component;
importjava.awt.FlowLayout;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JPasswordField;
importjavax.swing.JTextField;
importjavax.swing.border.EmptyBorder;
publicclassSenderFrameextendsJFrame{
/**
*
*/
privatestaticfinallongserialVersionUID=1L;
publicSenderFrame(){
init();
}
publicvoidinit(){
setTitle("Sender");
setSize(300,220);
setContentPane(createContentPane());
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
client.exit(SenderFrame.this);
}
});
}
privateJPanelcreateContentPane(){
JPanelp=newJPanel(newBorderLayout());
p.add(BorderLayout.NORTH,
newJLabel("发送数据",JLabel.CENTER));
p.add(BorderLayout.CENTER,createCenterPane());
p.add(BorderLayout.SOUTH,createBtnPane());
p.setBorder(newEmptyBorder(6,6,6,6));
returnp;
}
privateJPanelcreateCenterPane(){
JPanelp=newJPanel(newBorderLayout());
p.add(BorderLayout.NORTH,createIdPwdPane());
p.setBorder(newEmptyBorder(6,6,6,6));
returnp;
}
privateJPanelcreateIdPwdPane(){
JPanelp=newJPanel(newGridLayout(2,2,0,6));
p.add(createP());
p.add(createQ());
p.add(createPublic_key());
p.add(createPrime());
returnp;
}
privateJPanelcreateP(){
JPanelp=newJPanel(newBorderLayout(5,0));
p.add(BorderLayout.WEST,newJLabel("素数p:
"));
idP=newJPasswordField();
idP.enableInputMethods(true);
p.add(BorderLayout.CENTER,idP);
returnp;
}
privateJPanelcreateQ(){
JPanelp=newJPanel(newBorderLayout(5,0));
p.add(BorderLayout.WEST,newJLabel("素数q:
"));
idQ=newJPasswordField();
idQ.enableInputMethods(true);
p.add(BorderLayout.CENTER,idQ);
returnp;
}
privateJPanelcreatePublic_key(){
JPanelp=newJPanel(newBorderLayout(5,0));
p.add(BorderLayout.WEST,newJLabel("公钥:
"));
public_key=newJTextField();
p.add(BorderLayout.CENTER,public_key);
returnp;
}
privateJPanelcreatePrime(){
JPanelp=newJPanel(newBorderLayout(5,0));
p.add(BorderLayout.WEST,newJLabel("明文:
"));
prime=newJTextField();
p.add(BorderLayout.CENTER,prime);
returnp;
}
privateJPanelcreateBtnPane(){
JPanelp=newJPanel(newFlowLayout());
JButtonlogin=newJButton("发送");
JButtoncancel=newJButton("取消");
p.add(login);
p.add(cancel);
getRootPane().setDefaultButton(login);
login.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
client.send();
}
});
cancel.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
client.exit(SenderFrame.this);
}
});
returnp;
}
privateClientclient;
publicvoidsetClient(Clientclient){
this.client=client;
}
privateJTextFieldpublic_key;
privateJTextFieldprime;
privateJPasswordFieldidP;
privateJPasswordFieldidQ;
publiclonggetP(){
char[]str=idP.getPassword();
Strings=newString(str);
returnInteger.parseInt(s);
}
publiclonggetQ(){
char[]q=idQ.getPassword();
Strings=newString(q);
returnInteger.parseInt(s);
}
publiclonggetPrime(){
Stringstr=prime.getText();
returnInteger.parseInt(str);
}
publiclonggetPublic_key(){
Stringstr=public_key.getText();
returnInteger.parseInt(str);
}
}
-----------------------------------------------------------------------------------------------------------
package.rsa.frame;
importjava.awt.BorderLayout;
importjava.awt.FlowLayout;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JLabel;
importjavax.swing.JPanel;
importjavax.swing.border.EmptyBorder;
publicclassReceiverFrameextendsJFrame{
/**
*
*/
privatestaticfinallongserialVersionUID=1L;
publicReceiverFrame(){
this.shows();
}
publicvoidshows(){
setTitle("Receiver");
setSize(300,180);
setContentPane(createContentPane());
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
}
privateJPanelcreateContentPane(){
JPanelp=newJPanel(newBorderLayout());
p.add(BorderLayout.NORTH,
newJLabel("接收数据",JLabel.CENTER));
p.add(BorderLayout.CENTER,createCenterPane());
p.add(BorderLayout.SOUTH,createBtnPane());
p.setBorder(newEmptyBorder(6,6,6,6));
returnp;
}
privateJPanelcreateCenterPane(){
JPanelp=newJPanel(newBorderLayout());
p.add(BorderLayout.NORTH,createCipPane());
p.setBorder(newEmptyBorder(6,6,6,6));
returnp;
}
privateJPanelcreateCipPane(){
JPanelp=newJPanel(newGridLayout(2,1,0,6));
p.add(createIdPane());
p.add(createPwdPane());
returnp;
}
privateJPanelcreateIdPane(){
JPanelp=newJPanel(newBorderLayout(5,0));
p.add(BorderLayout.WEST,newJLabel("密文:
"));
cipField=newJLabel();
p.add(BorderLayout.CENTER,cipField);
returnp;
}
privateJPanelcreatePwdPane(){
JPanelp=newJPanel(newBorderLayout(5,0));
p.add(BorderLayout.WEST,newJLabel("解密:
"));
decipField=newJLabel();
p.add(BorderLayout.CENTER,decipField);
returnp;
}
privateJPanelcreateBtnPane(){
JPanelp=newJPanel(newFlowLayout());
JButtonbutton1=newJButton("解密");
JButtonbutton=newJButton("确认");
p.add(button1);
p.add(button);
getRootPane().setDefaultButton(button);