/** 指定key的大小 */    private static int          KEYSIZE       = 1024;    // 字符集    private final static String CHARACTER_SET = "UTF-8";    // rsa 加密方式    public static final String  RSA_ALGORITHM = "RSA/ECB/PKCS1Padding";    /**     *      * 描述:RSA 生成公钥、私钥对     *      * @return     * @throws Exception     * @author yangyongchuan 2016年11月8日 上午10:16:56     * @version 1.0     */    public static Map
 generateKeyPair() throws Exception {        /** RSA算法要求有一个可信任的随机数源 */        SecureRandom sr = new SecureRandom();        /** 为RSA算法创建一个KeyPairGenerator对象 */        KeyPairGenerator kpg = KeyPairGenerator.getInstance("RSA");        /** 利用上面的随机数据源初始化这个KeyPairGenerator对象 */        kpg.initialize(KEYSIZE, sr);        /** 生成密匙对 */        KeyPair kp = kpg.generateKeyPair();        /** 得到公钥 */        Key publicKey = kp.getPublic();        byte[] publicKeyBytes = publicKey.getEncoded();        String pub = new String(Base64.encodeBase64(publicKeyBytes), CHARACTER_SET);        /** 得到私钥 */        Key privateKey = kp.getPrivate();        byte[] privateKeyBytes = privateKey.getEncoded();        String pri = new String(Base64.encodeBase64(privateKeyBytes), CHARACTER_SET);        Map
 map = new HashMap
();        map.put("publicKey", pub);        map.put("privateKey", pri);        RSAPublicKey rsp = (RSAPublicKey) kp.getPublic();        BigInteger bint = rsp.getModulus();        byte[] b = bint.toByteArray();        byte[] deBase64Value = Base64.encodeBase64(b);        String retValue = new String(deBase64Value);        map.put("modulus", retValue);        return map;    }

RSA 生成公钥私钥对。在map中获取"publicKey","privateKey"。