欢迎来到天天文库
浏览记录
ID:40491476
大小:40.02 KB
页数:4页
时间:2019-08-03
《3.RSA密码算法验证》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3.RSA密码算法验证Rsa.javapackageRSA;importjava.security.*;importjava.security.interfaces.*;importjava.io.*;importjava.math.*;publicclassRsa{publicstaticvoidgenerateKey(){try{KeyPairGeneratorkpg=KeyPairGenerator.getInstance("RSA");kpg.initialize(1024);KeyPairkp=kpg.genKeyPair();PublicKeypbkey=kp.getPubl
2、ic();PrivateKeyprkey=kp.getPrivate();//保存公钥FileOutputStreamf1=newFileOutputStream("C:\Users\Administrator\workspace\Cryptology\src\RSA\RSApubkey.dat");ObjectOutputStreamb1=newObjectOutputStream(f1);b1.writeObject(pbkey);//保存私钥FileOutputStreamf2=newFileOutputStream("C:\Users\Administrator
3、\workspace\Cryptology\src\RSA\RSAprivatekey.dat");ObjectOutputStreamb2=newObjectOutputStream(f2);b2.writeObject(prkey);}catch(Exceptione){}}publicstaticvoidencrypt(Strings)throwsException{//获取公钥及参数e,nFileInputStreamf=newFileInputStream("C:\Users\Administrator\workspace\Cryptology\src\R
4、SA\RSApubkey.dat");ObjectInputStreamb=newObjectInputStream(f);RSAPublicKeypbk=(RSAPublicKey)b.readObject();BigIntegere=pbk.getPublicExponent();BigIntegern=pbk.getModulus();System.out.println("e="+e);System.out.println("n="+n);//获取明文mbyteptext[]=s.getBytes("UTF-8");BigIntegerm=newBigInteger(ptext
5、);//计算密文cBigIntegerc=m.modPow(e,n);System.out.println("密文c="+c);//保存密文Stringcs=c.toString();BufferedWriterout=newBufferedWriter(newOutputStreamWriter(newFileOutputStream("C:\Users\Administrator\workspace\Cryptology\src\RSA\RSAencrypt.dat")));out.write(cs,0,cs.length());out.close();}publics
6、taticvoiddecrypt()throwsException{//读取密文BufferedReaderin=newBufferedReader(newInputStreamReader(newFileInputStream("C:\Users\Administrator\workspace\Cryptology\src\RSA\RSAencrypt.dat")));Stringctext=in.readLine();BigIntegerc=newBigInteger(ctext);//读取私钥FileInputStreamf=newFileInputStream("C
7、:\Users\Administrator\workspace\Cryptology\src\RSA\RSAprivatekey.dat");ObjectInputStreamb=newObjectInputStream(f);RSAPrivateKeyprk=(RSAPrivateKey)b.readObject();BigIntegerd=prk.getPrivateExponent();//获取私钥参数及解密Bi
此文档下载收益归作者所有