将String转化成java.security.PrivateKey和java.security.PublicKey

/**
 * 解码PublicKey
 * @param key
 * @return
 */
public static PublicKey getPublicKey(String key) {
    try {
        byte[] byteKey = Base64.getDecoder().decode(key);
        X509EncodedKeySpec x509EncodedKeySpec = new X509EncodedKeySpec(byteKey);
        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
        return keyFactory.generatePublic(x509EncodedKeySpec);

    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}
/**
 * 解码PrivateKey
 * @param key
 * @return
 */
public static PrivateKey  getPrivateKey(String key) {
    try {
        byte[] byteKey = Base64.getDecoder().decode(key);
        PKCS8EncodedKeySpec x509EncodedKeySpec = new PKCS8EncodedKeySpec(byteKey);
        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
        return keyFactory.generatePrivate(x509EncodedKeySpec);

    } catch (Exception e) {
        e.printStackTrace();
    }
    return null;
}

你可能感兴趣的:(java)