java代码示例,用于RSA加密和解密
时间: 2023-03-19 15:23:16 浏览: 177
Encrypt-Decrypt-File-RSA-master_rsajava_
以下是一个简单的Java代码示例,用于RSA加密和解密:
```java
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.Security;
import javax.crypto.Cipher;
public class RSAExample {
public static void main(String[] args) throws Exception {
// 生成公私钥对
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA", "BC");
keyPairGenerator.initialize(2048);
KeyPair keyPair = keyPairGenerator.generateKeyPair();
PublicKey publicKey = keyPair.getPublic();
PrivateKey privateKey = keyPair.getPrivate();
// 加密
String plainText = "Hello World";
Cipher cipher = Cipher.getInstance("RSA", "BC");
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
byte[] cipherText = cipher.doFinal(plainText.getBytes());
// 解密
cipher.init(Cipher.DECRYPT_MODE, privateKey);
byte[] decryptedText = cipher.doFinal(cipherText);
System.out.println(new String(decryptedText));
}
}
```
此代码使用Bouncy Castle作为加密提供程序,并使用2048位的RSA密钥对进行加密和解密。 在实际应用中,您可能需要更改加密算法的参数以适应您的特定需求。 此外,请注意,本示例代码未进行任何错误处理,因此您需要对代码进行修改以适应实际应用中可能出现的错误情况。
阅读全文