BigInteger b=new BigInteger("1");
BigInteger b=BigInteger.valueof(1);
BigInteger bigInteger = BigInteger.probablePrime(2048, r); //随机生成2048位的大素数,r为Random变量
boolean a = b.isProbablePrime(256); //b是素数的概率为1 - 1 / 2^256
BigInteger a,b,c;
c=a.add(b); //加
c=a.subtract(b); //减
c=a.multiply(b); //乘
c=a.divide(b); //除
BigInteger a,b,c;
c=a.gcd(b);
BigInteger a,b,c;
c=a.remainder(b);
BigInteger a,b,c;
c=a.modPow(b,m);
getByte()
将明文转化为byte数组问题1:加密时不知道如何将明文转化为可用于加密的数字
解决1:纠结了好久,想到看书时看到过的getByte()方法可以将字符串转化为byte数组
问题2:解密时,出现了以下问题
解决2:这个错误还没法调试,检查了好久,发现自己计算公钥e的时候模的是n,修改了成模f后,解决了该问题
问题3:之后,解密出来的文件还是有问题
解决3:调试后,发现自己犯了很蠢的错误,我把int i=0放在了while 循环里,每次循环都会把i置1...
问题4:然后,输出还是有问题,后面会多一些空格
解决4:增加一个与明文长度等长的byte数组
成功~~
原文:https://www.cnblogs.com/wyf20175217/p/10886124.html