RSA 公钥算法Java代码(带界面)

上传人:大米 文档编号:426937291 上传时间:2023-08-17 格式:DOC 页数:14 大小:147KB
返回 下载 相关 举报
RSA 公钥算法Java代码(带界面)_第1页
第1页 / 共14页
RSA 公钥算法Java代码(带界面)_第2页
第2页 / 共14页
RSA 公钥算法Java代码(带界面)_第3页
第3页 / 共14页
RSA 公钥算法Java代码(带界面)_第4页
第4页 / 共14页
RSA 公钥算法Java代码(带界面)_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《RSA 公钥算法Java代码(带界面)》由会员分享,可在线阅读,更多相关《RSA 公钥算法Java代码(带界面)(14页珍藏版)》请在金锄头文库上搜索。

1、RSA公钥加密算法代码package .rsa.service;public class UnPrimeException extends Exceptionpublic UnPrimeException() public UnPrimeException(String message) super(message); public UnPrimeException(Throwable cause) super(cause); public UnPrimeException(String message, Throwable cause) super(message, cause); -pac

2、kage .rsa.service;public interface DataInfo public MyData sendData(long p, long q, long public_key, long deprime)throws UnPrimeException;-package .rsa.service;public class DataDeal implements DataInfoOverridepublic MyData sendData(long p, long q, long public_key, long deprime) throws UnPrimeExceptio

3、n MyData data ;if (!this.primeNumber(q)|!this.primeNumber(q)throw new UnPrimeException(非素数,请重新输入!) ;else if(deprime = this.getF(p,q) | (this.gcd(this.getF(p, q),deprime)!=1)throw new UnPrimeException(输入的公钥不符合条件!) ;elsedata = new MyData(p, q,public_key, deprime) ;return data ;/判断是否为素数public boolean p

4、rimeNumber(long t)long k=0;k=(long)Math.sqrt(double)t);boolean flag=true;outer:for(int i=2;i=k;i+)if(t%i)=0)flag = false;break outer;return flag;private long gcd(long a, long b)/最大公约数long gcd;if(b=0)gcd=a;else gcd=gcd(b,a%b);return gcd;private long getF(long p, long q)return (p - 1)*(q -1) ;-package

5、 .rsa.service;public class MyData private long p;private long q;private long public_key ;private long deprime ;public MyData() super();public MyData(long p, long q, long public_key, long deprime) super();this.p = p;this.q = q;this.public_key = public_key;this.deprime = deprime;public long getP() ret

6、urn p;public void setP(long p) this.p = p;public long getQ() return q;public void setQ(long q) this.q = q;public long getDeprime() return deprime;public void setDeprime(long deprime) this.deprime = deprime;public long getPublic_key() return public_key;public void setPublic_key(long public_key) this.

7、public_key = public_key;public boolean toPrime()/判断最大公约数是否为1if(this.gcd(p, q) != 1)return false ;return true ;/求最大公约数public long gcd(long a, long b)long gcd;if(b=0)gcd=a;else gcd=gcd(b,a%b);return gcd;public long getN()return p*q ;public long getF()return (p - 1)*(q -1) ;public long colum(long y,lon

8、g n,long key) /加密/解密long mul;if(key=1)mul=y%n;else mul=y*this.colum(y,n,key-1)%n;return mul;/计算得到密匙public long getPrivate_key()long f = this.getF() ;long private_key = 1;long value=1;for(long i=1;i+)value=i*f+1;if(value%this.public_key=0)& (value/this.public_key f)private_key=value/this.public_key;b

9、reak ;return private_key ;/得到密文public long getMyPrime()return this.colum(this.deprime, this.getN(), this.public_key) ;public String getStrPrime()return Long.toString(this.getMyPrime() ;/得到解密的文件public long getMyDeprime() return this.colum(this.getMyPrime(), this.getN(), this.getPrivate_key() ;public

10、String getStrDeprime()return Long.toString(this.getMyDeprime() ;-package .rsa.frame;import java.awt.BorderLayout;import java.awt.Component;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;

11、import java.awt.event.WindowEvent;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;import javax.swing.border.EmptyBorder;public class SenderFrame ext

12、ends JFrame/* * */private static final long serialVersionUID = 1L;public SenderFrame()init() ;public void init()setTitle(Sender);setSize(300, 220);setContentPane(createContentPane();addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) client.exit(SenderFrame.this) ;);private JPanel createContentPane()JPanel p = new JPane

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号