在Java中实现RSA加解密,可以使用Java自带的java.security包中的类,主要是KeyPairGenerator、KeyPair、PrivateKey、PublicKey以及Cipher。
下面是一个简单的RSA加解密工具类示例:
import javax.crypto.Cipher;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.spec.RSAPublicKeySpec;
import java.util.Base64;
public class RSAUtil {
private static final String RSA = "RSA";
/**
* 生成RSA密钥对
* @param keySize 密钥长度,如1024, 2048
* @return KeyPair
*/
public static KeyPair generateKeyPair(int keySize) throws Exception {
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(RSA);
keyPairGenerator.initialize(keySize);
return keyPairGenerator.generateKeyPair();
}
/**
* 使用公钥加密
* @param data 明文数据
* @param publicKey 公钥
* @return Base64编码的密文
*/
public static String encrypt(String data, PublicKey publicKey)