Java RSA加密算法是目前非常常用的加密算法之一,它可以生成公鑰和私鑰,實(shí)現(xiàn)數(shù)據(jù)的加密和解密。下面我們來看一下如何使用Java實(shí)現(xiàn)RSA算法生成公鑰和私鑰。
步驟如下:
1. 首先,需要生成密鑰對:
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA"); keyPairGenerator.initialize(2048); //生成的密鑰長度 KeyPair keyPair = keyPairGenerator.generateKeyPair(); //生成密鑰對
2. 獲取公鑰和私鑰:
//獲取公鑰 PublicKey publicKey = keyPair.getPublic(); byte[] publicKeyBytes = publicKey.getEncoded(); String publicKeyStr = Base64.encodeBase64String(publicKeyBytes); //獲取私鑰 PrivateKey privateKey = keyPair.getPrivate(); byte[] privateKeyBytes = privateKey.getEncoded(); String privateKeyStr = Base64.encodeBase64String(privateKeyBytes);
3. 最后,我們可以將公鑰和私鑰保存在兩個(gè)文件中:
//保存公鑰 FileWriter pubfw = new FileWriter("publicKey.keystore"); BufferedWriter pubbw = new BufferedWriter(pubfw); pubbw.write(publicKeyStr); pubbw.close(); //保存私鑰 FileWriter prifw = new FileWriter("privateKey.keystore"); BufferedWriter pribw = new BufferedWriter(prifw); pribw.write(privateKeyStr); pribw.close();
到此為止,我們就成功地生成了RSA算法的公鑰和私鑰。