Java暗号化-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