Java中实现RSA加解密算法的示例代码如下:
**RSA密钥对生成:**
java
import java.math.BigInteger;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
public class RSAKeyPairGenerator {
public static void main(String[] args) throws Exception {
int keySize = 2048;
KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA");
generator.initialize(keySize);
KeyPair keyPair = generator.generateKeyPair();
PrivateKey privateKey = (PrivateKey) keyPair.getPrivate();
PublicKey publicKey = keyPair.getPublic();
System.out.println("公钥:" + publicKey);
System.out.println("私钥:" + privateKey);
}
}
**RSA加密和解密:**
java
import java.math.BigInteger;
import javax.crypto.Cipher;
public class RSADemo {
public static void main(String[] args) throws Exception {
PublicKey publicKey = KeyFactory.getInstance("RSA").generatePublic(new X509EncodedKeySpec("public_key_hex"));
String plainText = "Hello, World!";
Cipher cipher = Cipher.getInstance("RSA");
cipher.init(Cipher.ENCRYPT_MODE, publicKey);
byte[] encryptedBytes = cipher.doFinal(plainText.getBytes());
System.out.println("加密:" + DatatypeConverter.printHexBinary(encryptedBytes));
PrivateKey privateKey = KeyFactory.getInstance("RSA").generatePrivate(new PKCS8EncodedKeySpec("private_key_hex"));
cipher.init(Cipher.DECRYPT_MODE, privateKey);
byte[] decryptedBytes = cipher.doFinal(encryptedBytes);
System.out.println("解密:" + new String(decryptedBytes));
}
}
以上代码展示了如何在Java中使用RSA算法进行密钥对生成、加密和解密操作。
温馨提示:答案为网友推荐,仅供参考