电话:0731-83595998
导航

无需JCE用底层API实现开发RSA

来源: 2017-12-23 16:48

 百度广告

  若要自己开发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:");

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端