common_helper/src/main/java/com/xiongyingqi/util/RsaUtils.java
private static void generateKeyPair() throws Exception {

//        /** RSA算法要求有一个可信任的随机数源 */
//        SecureRandom secureRandom = new SecureRandom();

        /** 为RSA算法创建一个KeyPairGenerator对象 */
        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(ALGORITHM);

        /** 利用上面的随机数据源初始化这个KeyPairGenerator对象 */
//        keyPairGenerator.initialize(KEYSIZE, secureRandom);
        keyPairGenerator.initialize(KEYSIZE);

        /** 生成密匙对 */
        KeyPair keyPair = keyPairGenerator.generateKeyPair();

        /** 得到公钥 */
        Key publicKey = keyPair.getPublic();

        /** 得到私钥 */
        Key privateKey = keyPair.getPrivate();

        ObjectOutputStream oos1 = null;
        ObjectOutputStream oos2 = null;
        try {
            /** 用对象流将生成的密钥写入文件 */
            oos1 = new ObjectOutputStream(new FileOutputStream(PUBLIC_KEY_FILE));
            oos2 = new ObjectOutputStream(new FileOutputStream(PRIVATE_KEY_FILE));
            oos1.writeObject(publicKey);
            oos2.writeObject(privateKey);
        } catch (Exception e) {
            throw e;
        } finally {
            /** 清空缓存，关闭文件输出流 */
            oos1.close();
            oos2.close();
        }
    }
private static void generateKeyPair() throws Exception {

//        /** RSA算法要求有一个可信任的随机数源 */
//        SecureRandom secureRandom = new SecureRandom();

        /** 为RSA算法创建一个KeyPairGenerator对象 */
        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(ALGORITHM);

        /** 利用上面的随机数据源初始化这个KeyPairGenerator对象 */
//        keyPairGenerator.initialize(KEYSIZE, secureRandom);
        keyPairGenerator.initialize(KEYSIZE);

        /** 生成密匙对 */
        KeyPair keyPair = keyPairGenerator.generateKeyPair();

        /** 得到公钥 */
        Key publicKey = keyPair.getPublic();

        /** 得到私钥 */
        Key privateKey = keyPair.getPrivate();

        ObjectOutputStream oos1 = null;
        ObjectOutputStream oos2 = null;
        try {
            /** 用对象流将生成的密钥写入文件 */
            oos1 = new ObjectOutputStream(new FileOutputStream(PUBLIC_KEY_FILE));
            oos2 = new ObjectOutputStream(new FileOutputStream(PRIVATE_KEY_FILE));
            oos1.writeObject(publicKey);
            oos2.writeObject(privateKey);
        } catch (Exception e) {
            throw e;
        } finally {
            /** 清空缓存，关闭文件输出流 */
            oos1.close();
            oos2.close();
        }
    }
private static void generateKeyPair ( ) throws Exception { //        /** RSA算法要求有一个可信任的随机数源 */ //        SecureRandom secureRandom = new SecureRandom(); /** 为RSA算法创建一个KeyPairGenerator对象 */ KeyPairGenerator keyPairGenerator = KeyPairGenerator . getInstance ( ALGORITHM ) ; /** 利用上面的随机数据源初始化这个KeyPairGenerator对象 */ //        keyPairGenerator.initialize(KEYSIZE, secureRandom); keyPairGenerator . initialize ( KEYSIZE ) ; /** 生成密匙对 */ KeyPair keyPair = keyPairGenerator . generateKeyPair ( ) ; /** 得到公钥 */ Key publicKey = keyPair . getPublic ( ) ; /** 得到私钥 */ Key privateKey = keyPair . getPrivate ( ) ; ObjectOutputStream oos1 = null ; ObjectOutputStream oos2 = null ; try { /** 用对象流将生成的密钥写入文件 */ oos1 = new ObjectOutputStream ( new FileOutputStream ( PUBLIC_KEY_FILE ) ) ; oos2 = new ObjectOutputStream ( new FileOutputStream ( PRIVATE_KEY_FILE ) ) ; oos1 . writeObject ( publicKey ) ; oos2 . writeObject ( privateKey ) ; } catch ( Exception e ) { throw e ; } finally { /** 清空缓存，关闭文件输出流 */ oos1 . close ( ) ; oos2 . close ( ) ; } }
生成密钥对

@throws Exception
生成密钥对