欢迎来到天天文库
浏览记录
ID:13824914
大小:35.00 KB
页数:5页
时间:2018-07-24
《java的非对称性加密服务技术分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、java的非对称性加密服务技术分析 鉴于rsa加密的重要性与拖累源代码的匮乏,经过整顿特此贴出。需要下载bcprov-jdk14-123.jar。 importjavax.crypto.Cipher; importjava.security.*; importjava.security.spec.RSAPublicKeySpec; importjava.security.spec.RSAPrivateKeySpec; importjava.security.spec.InvalidK
2、eySpecException; importjava.security.interfaces.RSAPrivateKey; importjava.security.interfaces.RSAPublicKey; importjava.io.*; importjava.math.BigInteger; /** *RSA东西类。供给加密,解密,天生密钥平匀办法。 *需要到http://www.bouncycastle.org下载bcprov-jdk14-123.jar。 * *
3、/ publicclassRSAUtil{ /** *天生密钥对 *@returnKeyPair *@throwsEncryptException */ publicstaticKeyPairgenerateKeyPair()throwsEncryptException{ try{ KeyPairGeneratorkeyPairGen=KeyPairGenerator.getInstance("RSA", neworg.bouncycastle.jce.provider.Bo
4、uncyCastleProvider()); finalintKEY_SIZE=1024;//没什么好说的了,这个值相干到块加密的大小,可以变幻,然而不要太大,不然服从会低 keyPairGen.initialize(KEY_SIZE,newSecureRandom()); KeyPairkeyPair=keyPairGen.genKeyPair(); returnkeyPair; }catch(Exceptione){ thrownewEncryptException(e.getM
5、essage()); } } /** *天生公钥 *@parammodulus *@parampublicExponent *@returnRSAPublicKey *@throwsEncryptException */ publicstaticRSAPublicKeygenerateRSAPublicKey(byte[]modulus,byte[]publicExponent)throwsEncryptException{ KeyFactorykeyFac=null;
6、try{ keyFac=KeyFactory.getInstance("RSA",neworg.bouncycastle.jce.provider.BouncyCastleProvider()); }catch(NoSuchAlgorithmExceptionex){ thrownewEncryptException(ex.getMessage()); } RSAPublicKeySpecpubKeySpec=newRSAPublicKeySpec(newBigInteger(modu
7、lus),newBigInteger(publicExponent)); try{ return(RSAPublicKey)keyFac.generatePublic(pubKeySpec); }catch(InvalidKeySpecExceptionex){ thrownewEncryptException(ex.getMessage()); } } /** *天生私钥 *@parammodulus *@paramprivateExponent *@returnRSAP
8、rivateKey *@throwsEncryptException */ publicstaticRSAPrivateKeygenerateRSAPrivateKey(byte[]modulus,byte[]privateExponent)throwsEncryptException{ KeyFactorykeyFac=null; try{ keyFac=KeyFactory.getInstance("RSA",neworg.bouncycastle.jce.provider.Bo
此文档下载收益归作者所有