java实现rsa加密解密
时间: 2023-11-18 09:55:44 浏览: 88
实现rsa加密解密程序
Java可以通过使用Java Cryptography Architecture(JCA)提供的API来实现RSA加密和解密。下面是一个简单的实现步骤:
1. 生成公钥和私钥对,可以使用KeyPairGenerator类来生成。
2. 使用公钥加密明文,可以使用Cipher类来实现。
3. 使用私钥解密密文,同样可以使用Cipher类来实现。
下面是一个简单的Java代码示例:
```
import java.security.*;
import javax.crypto.*;
public class RSAExample {
public static void main(String[] args) throws Exception {
// 生成公钥和私钥对
KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
keyGen.initialize(2048);
KeyPair keyPair = keyGen.generateKeyPair();
PublicKey publicKey = keyPair.getPublic();
PrivateKey privateKey = keyPair.getPrivate();
// 使用公钥加密明文
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
byte[] plaintext = "Hello, world!".getBytes();
byte[] ciphertext = cipher.doFinal(plaintext);
// 使用私钥解密密文
cipher.init(Cipher.DECRYPT_MODE, privateKey);
byte[] decrypted = cipher.doFinal(ciphertext);
String decryptedText = new String(decrypted);
System.out.println(decryptedText);
}
}
```
该代码生成了一个2048位的RSA密钥对,并使用公钥加密了一个字符串,然后使用私钥解密了密文并打印出明文。
阅读全文