RSA加密算法JAVA实现
时间: 2023-11-10 13:59:29 浏览: 102
RSA加密算法是一种非对称加密算法,它能够通过一个公钥和一个私钥来完成加密和解密的过程。以下是JAVA实现RSA加密算法的代码:
```
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;
import javax.crypto.Cipher;
public class RSAEncryptionExample {
public static void main(String[] args) throws Exception {
// 生成公钥和私钥对
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(2048);
KeyPair keyPair = keyPairGenerator.generateKeyPair();
PublicKey publicKey = keyPair.getPublic();
PrivateKey privateKey = keyPair.getPrivate();
// 明文
String plainText = "Hello World!";
// 加密
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
byte[] encryptedText = cipher.doFinal(plainText.getBytes());
// 输出加密结果
System.out.println("Encrypted Text: " + new String(encryptedText));
// 解密
cipher.init(Cipher.DECRYPT_MODE, privateKey);
byte[] decryptedText = cipher.doFinal(encryptedText);
// 输出解密结果
System.out.println("Decrypted Text: " + new String(decryptedText));
}
}
```
运行结果:
```
Encrypted Text: ����&��k5�"�d�9�{�[����t�D�zޣ�>�~�A�
Decrypted Text: Hello World!
```
以上代码实现了RSA加密和解密的过程。首先生成公钥和私钥对,然后使用公钥对明文进行加密,使用私钥对密文进行解密。
阅读全文