设为首页 加入收藏

TOP

Java非对称加密的源代码(RSA)
2014-11-14 21:00:38 来源: 作者: 【 】 浏览:21
Tags:Java 对称 加密 源代码 RSA

  鉴于rsa加密的重要性和相关源代码的匮乏,经过整理特此贴出。需要下载bcprov-jdk14-123.jar。


  下载地址:www.bouncycastle.org/latest_releases.html


  import javax.crypto.Cipher;


  import java.security.*;


  import java.security.spec.RSAPublicKeySpec;


  import java.security.spec.RSAPrivateKeySpec;


  import java.security.spec.InvalidKeySpecException;


  import java.security.interfaces.RSAPrivateKey;


  import java.security.interfaces.RSAPublicKey;


  import java.io.*;


  import java.math.BigInteger;


  /**


  * RSA 工具类。提供加密,解密,生成密钥对等方法。


  * 需要到http://www.bouncycastle.org下载bcprov-jdk14-123.jar。


  *


  */


  public class RSAUtil {


  /**


  * 生成密钥对


  * @return KeyPair


  * @throws EncryptException


  */


  public static KeyPair generateKeyPair() throws EncryptException {


  try {


  KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA",


  new org.bouncycastle.jce.provider.BouncyCastleProvider());


  final int KEY_SIZE = 1024;//没什么好说的了,这个值关系到块加密的大小,可以更改,但是不要太大,否则效率会低


  keyPairGen.initialize(KEY_SIZE, new SecureRandom());


  KeyPair keyPair = keyPairGen.genKeyPair();


  return keyPair;


  } catch (Exception e) {


  throw new EncryptException(e.getMessage());


  }


  }


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇如何让Ext的RowExpander实现异步.. 下一篇JAVA里16进制和字节数组互转

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: