使用Java语言实现如下需求 使用RSA非对称密码算法实现密码的加解密计算,输出加解密结果
时间: 2024-03-09 18:50:55 浏览: 66
Java中RSA非对称密钥加解密使用示例
好的,以下是使用Java语言实现RSA加解密的完整代码示例,包括输出加解密结果:
```java
import java.security.*;
import javax.crypto.*;
public class RSAExample {
public static void main(String[] args) {
try {
// 生成密钥对
KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("RSA");
keyPairGen.initialize(1024);
KeyPair keyPair = keyPairGen.generateKeyPair();
PublicKey publicKey = keyPair.getPublic();
PrivateKey privateKey = keyPair.getPrivate();
// 加密
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
String plainText = "Hello, world!";
byte[] cipherText = cipher.doFinal(plainText.getBytes());
System.out.println("Cipher text: " + new String(cipherText));
// 解密
cipher.init(Cipher.DECRYPT_MODE, privateKey);
byte[] decryptedText = cipher.doFinal(cipherText);
System.out.println("Decrypted text: " + new String(decryptedText));
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在上述代码中,我们使用了Java中的KeyPairGenerator和Cipher类来生成密钥对和进行加解密操作。其中,Cipher类的初始化参数和操作模式需要根据具体情况进行设置,这里使用了默认值。
在执行程序时,输出的加解密结果将会在控制台中打印出来。
阅读全文