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:加密时不知道如何将明文转化为可用于加密的数字git
解决1:纠结了很久,想到看书时看到过的getByte()方法能够将字符串转化为byte数组算法
问题2:解密时,出现了如下问题数组
解决2:这个错误还无法调试,检查了很久,发现本身计算公钥e的时候模的是n,修改了成模f后,解决了该问题dom
问题3:以后,解密出来的文件仍是有问题ide
解决3:调试后,发现本身犯了很蠢的错误,我把int i=0放在了while 循环里,每次循环都会把i置1...函数
问题4:而后,输出仍是有问题,后面会多一些空格加密
解决4:增长一个与明文长度等长的byte数组3d
成功~~调试