RSA 加密解密 util
时间: 2024-10-25 20:02:43 浏览: 16
RSA加密解密通常涉及Java中的`java.security.KeyPairGenerator`类以及`Cipher`类。以下是一个简单的示例,展示了如何生成RSA密钥对并进行加密和解密:
1. **生成RSA密钥对**[^1]:
```java
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(2048); // 使用2048位的密钥以提高安全性
KeyPair keyPair = keyGen.generateKeyPair();
PublicKey publicKey = keyPair.getPublic();
PrivateKey privateKey = keyPair.getPrivate();
```
2. **加密**:
```java
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
byte[] encryptedData = cipher.doFinal(somePlainText.getBytes());
```
3. **解密**:
```java
cipher.init(Cipher.DECRYPT_MODE, privateKey);
byte[] decryptedData = cipher.doFinal(encryptedData);
String originalMessage = new String(decryptedData);
```
请注意,实际应用中,你需要保存或传输公钥以供接收方解密,而私钥应保密,以防非法访问。
阅读全文