rsa加密java简单实现
时间: 2024-03-20 08:37:24 浏览: 66
简单的RSA加密算法(JAVA实现的)
5星 · 资源好评率100%
RSA加密是一种非对称加密算法,它使用一对密钥,即公钥和私钥,其中公钥用于加密数据,私钥用于解密数据。下面是一个简单的Java实现RSA加密的示例:
```java
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.SecureRandom;
import javax.crypto.Cipher;
public class RSAEncryptionExample {
public static void main(String[] args) throws Exception {
// 生成RSA密钥对
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
SecureRandom secureRandom = new SecureRandom();
keyPairGenerator.initialize(2048, secureRandom);
KeyPair keyPair = keyPairGenerator.generateKeyPair();
PublicKey publicKey = keyPair.getPublic();
PrivateKey privateKey = keyPair.getPrivate();
// 要加密的数据
String plainText = "Hello, RSA encryption!";
// 使用公钥进行加密
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
byte[] encryptedBytes = cipher.doFinal(plainText.getBytes());
// 使用私钥进行解密
cipher.init(Cipher.DECRYPT_MODE, privateKey);
byte[] decryptedBytes = cipher.doFinal(encryptedBytes);
// 解密后的数据
String decryptedText = new String(decryptedBytes);
System.out.println("加密前的数据:" + plainText);
System.out.println("解密后的数据:" + decryptedText);
}
}
```
以上代码中,首先使用`KeyPairGenerator`生成RSA密钥对,然后使用公钥进行加密,私钥进行解密。最后输出加密前和解密后的数据。
阅读全文