Java非对称加密的源代码(RSA)计算机等级考试

文章作者 100test 发表时间 2010:01:08 20:20:11
来源 100Test.Com百考试题网


  鉴于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()).

  }

  }


相关文章


Java线程:深入ThreadLocal计算机等级考试
Java线程:线程私有变量计算机等级考试
Java实现拼图游戏计算机等级考试
JAVA里16进制和字节数组互转计算机等级考试
Java非对称加密的源代码(RSA)计算机等级考试
C语言一个微妙的Bug计算机等级考试
c语言函数用指针传递参数问题计算机等级考试
海量文件的分布式计算处理方案计算机等级考试
Java多线程:生产者与消费者计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛