JAVA 实现 RSA加解密算法以及代码样例

如题所述

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算法进行密钥对生成、加密和解密操作。
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜