无需JCE用底层API实现开发RSA
百度广告
若要自己开发RSA的话那都是用底层API实现的,自然是无需JCE。但有一个问题须说明,那就是你所提到的JDK1.1.8,是否可以正确执行我不敢确定,因为我手边没有1.1.8的文档,而我使用的所有API均来自1.2.2.至于1.1.8中是否都一样,我不知道,但想必没什么问题。 还有一个问题:由于RSA的实现均是纯粹的数学原理,故其算法当然也都是针对数字的。至于文本或二进制代码当然也可以,比如转换为字节数组或纯二进制等,具体使用什么方法最好最快我还没找到。所以这就留给你自己解决好了。不过RSA主要是理解算法,搞明白了这些其余不在话下。
import java.security.*;
import java.io.*;
{
BigInteger d;
}
{
public static void main(String args)
RSAGenerator obj=new RSAGenerator();
obj.getParameter();
}catch(NoSuchAlgorithmException ex)
System.out.println("NoSuchAlgorithmException");
catch(IOException ex)
System.out.println("IOException");
}
{
int certainty=50;
BigInteger one=new BigInteger("1");
BigInteger q=new BigInteger(bitlength,certainty,sRandom);
BigInteger m=p.subtract(one).multiply((q.subtract(one)));
BigInteger e;
{
if(m.gcd(e).equals(one))break;
BigInteger d=e.modInverse(m);
info.d=d;
}
{
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.flush();
oos.close();
}|||
import java.security.*;
import java.io.*;
{
{
{
System.exit(1);
RSAEncrypt obj=new RSAEncrypt();
obj.encrypt(args[0]);
{
}
{
}
{
}
public void encrypt(String num) throws ClassNotFoundException,
{
ObjectInputStream ois=new ObjectInputStream(fis);
BigInteger plainText=new BigInteger(num);
System.out.println("Cipher text is:");
fis.close();
}
mport java.security.*;
import java.io.*;
{
{
{
System.exit(1);
RSADecrypt obj=new RSADecrypt();
obj.decrypt(args[0]);
{
}
{
}
{
}
public void decrypt(String num) throws ClassNotFoundException,
{
ObjectInputStream ois=new ObjectInputStream(fis);
BigInteger cipherText=new BigInteger(num);
System.out.println("Plain text is:");
import java.security.*;
import java.io.*;
{
BigInteger d;
}
{
public static void main(String args)
RSAGenerator obj=new RSAGenerator();
obj.getParameter();
}catch(NoSuchAlgorithmException ex)
System.out.println("NoSuchAlgorithmException");
catch(IOException ex)
System.out.println("IOException");
}
{
int certainty=50;
BigInteger one=new BigInteger("1");
BigInteger q=new BigInteger(bitlength,certainty,sRandom);
BigInteger m=p.subtract(one).multiply((q.subtract(one)));
BigInteger e;
{
if(m.gcd(e).equals(one))break;
BigInteger d=e.modInverse(m);
info.d=d;
}
{
ObjectOutputStream oos=new ObjectOutputStream(fos);
oos.flush();
oos.close();
}|||
import java.security.*;
import java.io.*;
{
{
{
System.exit(1);
RSAEncrypt obj=new RSAEncrypt();
obj.encrypt(args[0]);
{
}
{
}
{
}
public void encrypt(String num) throws ClassNotFoundException,
{
ObjectInputStream ois=new ObjectInputStream(fis);
BigInteger plainText=new BigInteger(num);
System.out.println("Cipher text is:");
fis.close();
}
mport java.security.*;
import java.io.*;
{
{
{
System.exit(1);
RSADecrypt obj=new RSADecrypt();
obj.decrypt(args[0]);
{
}
{
}
{
}
public void decrypt(String num) throws ClassNotFoundException,
{
ObjectInputStream ois=new ObjectInputStream(fis);
BigInteger cipherText=new BigInteger(num);
System.out.println("Plain text is:");
编辑推荐:
下载Word文档
温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)
-
国家电网30270试题
-
湖南中烟7463试题
-
湖南统招专升本不连网,流畅做题
-
长沙理工大学考研培训4532试题
13年品牌值得信赖
已有 22658 名学员学习以下课程通过考试
网友评论(共0条评论)
精品课程
更多
10781人学习
相关推荐
图书更多+
- 电网书籍
- 财会书籍
- 其它工学书籍
拼团课程更多+
- 电气拼团课程
- 财会拼团课程
- 其它工学拼团
热门排行
-
- 长理培训微信公众号
- 每日推送精彩考试资讯
长按二维码识别
微信搜索“ 长理培训”
-
- 加入QQ群一起来考国网!
- QQ群号:223940140
点击进入
长理培训客户端 资讯,试题,视频一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>