RSA公钥密码系统的Java实现

时间:2013-07-03 05:07:56
【文件属性】:

文件名称:RSA公钥密码系统的Java实现

文件大小:280KB

文件格式:DOC

更新时间:2013-07-03 05:07:56

RSA公钥密码系统的Java实现

RSA公钥密码系统的Java实现 /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package rsa; import java.math.BigInteger; import java.util.Scanner; import java.util.Random; /** * * @author Administrator */ public class RSABigInteger { private BigInteger bign,ukey,rkey,eulerPhi; private int bitBLength=32; /** * @return the bign */ public BigInteger getBign() { return bign; } public RSABigInteger() { this.generatingUAndRKey(); } public static void main(String[] args) { RSABigInteger rsa = new RSABigInteger(); rsa.test02(); } public void test() { long ptt=25; System.out.println("Before encripting plaintext= "+ptt); BigInteger pt = BigInteger.valueOf(ptt); BigInteger ct=this.encripting(pt); System.out.println("The ciphertext="+ct.longValue()); pt = this.decripting(ct); System.out.println("After decripting the plaintext = "+ pt.longValue()); } public void test02() { BigInteger[] bgPt,bgCt; byte[] btPt,btCt; //long[] lgPt,lgCt; long lgC; String strPt,strCt; int len,i; pstr("Input a plain text to be encripted:"); Scanner scanf = new Scanner(System.in); strPt=scanf.nextLine(); pstr("The plain text to be encripted:"+strPt); len=strPt.length(); bgPt=new BigInteger[len]; bgCt=new BigInteger[len]; //lgPt=new long[len]; //lgCt=new long[len]; btPt=strPt.getBytes(); btCt=new byte[len]; //Encripting pstr("Encripting...."); for(i=0;i


网友评论

  • 代码有错误~
  • 可以作为参考资料
  • 作为参考 可以借鉴
  • 虽然不能直接用,但可借鉴。
  • 谢谢,虽然没用上,不过入门够了
  • 非常不错的资料,对我的帮助很大
  • 可用性不高,文档没多大用处。
  • 就两张截图,代码也不对
  • 可用性不高,文档中是代码的截图,基本看不清。
  • 传两张图片干什么,上面写的代码也是半段,真是唉
  • 下载的文件只有两个图,垃圾图。上面的代码是有错误的。生成的素数超过64位就会有错误。因为将BigInteger转化为long只保留了低64位。更要命的是解密,完全就是错误的,根本就是直接输出的加密前的。