자바 암호화-KeyPairGenerator

Java는 KeyPairGenerator수업. 이 클래스는 공개 및 개인 키 쌍을 생성하는 데 사용됩니다. 다음을 사용하여 키를 생성하려면KeyPairGenerator 아래 단계를 따르십시오.

1 단계 : KeyPairGenerator 개체 만들기

그만큼 KeyPairGenerator 수업 제공 getInstance() 필요한 키 생성 알고리즘을 나타내는 String 변수를 받아들이고 키를 생성하는 KeyPairGenerator 객체를 반환하는 메서드입니다.

창조하다 KeyPairGenerator 개체를 사용하여 getInstance() 방법은 아래와 같습니다.

//Creating KeyPair generator object
KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("DSA");

2 단계 : KeyPairGenerator 개체 초기화

그만큼 KeyPairGenerator 클래스는 initialize()이 메서드는 키 쌍 ​​생성기를 초기화하는 데 사용됩니다. 이 메서드는 키 크기를 나타내는 정수 값을받습니다.

아래와 같이이 메서드를 사용하여 이전 단계에서 만든 KeyPairGenerator 개체를 초기화합니다.

//Initializing the KeyPairGenerator
keyPairGen.initialize(2048);

3 단계 : KeyPairGenerator 생성

당신은 생성 할 수 있습니다 KeyPair 사용 generateKeyPair() 의 방법 KeyPairGenerator수업. 아래와 같이이 방법을 사용하여 키 쌍을 생성합니다.

//Generate the pair of keys
KeyPair pair = keyPairGen.generateKeyPair();

4 단계 : 개인 키 / 공개 키 얻기

생성 된 KeyPair 객체에서 개인 키를 가져올 수 있습니다. getPrivate() 방법은 아래와 같습니다.

//Getting the private key from the key pair
PrivateKey privKey = pair.getPrivate();

다음을 사용하여 생성 된 KeyPair 객체에서 공개 키를 가져올 수 있습니다. getPublic() 방법은 아래와 같습니다.

//Getting the public key from the key pair
PublicKey publicKey = pair.getPublic();

다음 예제는 KeyPairGenerator 클래스를 사용하여 비밀 키의 키 생성을 보여줍니다. javax.crypto 꾸러미.

import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.PrivateKey;
import java.security.PublicKey;

public class KeyPairGenertor {
   public static void main(String args[]) throws Exception{
      //Creating KeyPair generator object
      KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("DSA");
      
      //Initializing the KeyPairGenerator
      keyPairGen.initialize(2048);
      
      //Generating the pair of keys
      KeyPair pair = keyPairGen.generateKeyPair();
      
      //Getting the private key from the key pair
      PrivateKey privKey = pair.getPrivate();   
      
      //Getting the public key from the key pair
      PublicKey publicKey = pair.getPublic(); 
      System.out.println("Keys generated");
   }
}

산출

위의 프로그램은 다음과 같은 출력을 생성합니다-

Keys generated