JAVA,RSA密钥生成

如图

在这里插入图片描述

import java.math.BigInteger;
import java.util.Random;

public class ShengChengSuShu {
  public static void main(String[] Zing) {
	 Main(16,10);
  }
  /**
   * 输入第一个数字表示素数的位数
   * 输入的第二个数字表述显示几组
   * 
   * @param wei
   * @param n
   */
  public static void Main(int wei,int n) {
	  for(int i = 0;i < n;i ++) {
		  function(wei);
	  }
  }
  public static void function(int wei) {
	     String a = ShengChengBinarySuShu(wei);
		 String b = ShengChengBinarySuShu(wei);
		 String c = ShengChengBinaryChengJi(a,b);
  }
  public static String ShengChengBinarySuShu(int wei) {
	  BigInteger a ;
	  Random rnd = new Random();
	  a = BigInteger.probablePrime(wei, rnd);
	  String b = a.toString();
	  String binary = new BigInteger(b,10).toString(2);
	 // System.out.println(a);
	  System.out.println(binary);
	  return binary;
  }
  public static String ShengChengBinaryChengJi(String a ,String b) {
	  String a1 = new BigInteger(a,2).toString(10);
	  String b1 = new BigInteger(b,2).toString(10);
	  BigInteger a11 = new BigInteger(a1);
	  BigInteger b11 = new BigInteger(b1);
	  BigInteger c = a11.multiply(b11);
	  String ending = c.toString();
	  String binary = new BigInteger(ending,10).toString(2);
	//  System.out.println(ending);
	  System.out.println(binary);
	  return binary;
  }
}

猜你喜欢

转载自blog.csdn.net/qq_41359808/article/details/88896207