Java-cryptography-keypairgenerator
提供:Dev Guides
Java暗号化-KeyPairGenerator
Java provides the KeyPairGenerator *class. This class is used to generate pairs of public and private keys. To generate keys using the KeyPairGenerator* class, follow the steps given below.
ステップ1:KeyPairGeneratorオブジェクトを作成する
*KeyPairGenerator* クラスは、必要なキー生成アルゴリズムを表すString変数を受け入れ、キーを生成するKeyPairGeneratorオブジェクトを返す* getInstance()*メソッドを提供します。
以下に示すように、* getInstance()メソッドを使用して *KeyPairGenerator オブジェクトを作成します。
//Creating KeyPair generator object
KeyPairGenerator keyPairGen = KeyPairGenerator.getInstance("DSA");
ステップ2:KeyPairGeneratorオブジェクトを初期化する
*KeyPairGenerator* クラスは、* initialize()*という名前のメソッドを提供します。このメソッドは、キーペアジェネレーターを初期化するために使用されます。 このメソッドは、キーサイズを表す整数値を受け入れます。
以下に示すように、このメソッドを使用して、前の手順で作成したKeyPairGeneratorオブジェクトを初期化します。
//Initializing the KeyPairGenerator
keyPairGen.initialize(2048);
ステップ3:KeyPairGeneratorを生成する
*KeyPairGenerator* クラスの* generateKeyPair()*メソッドを使用して *KeyPair* を生成できます。 以下に示すように、この方法を使用してキーペアを生成します。
//Generate the pair of keys
KeyPair pair = keyPairGen.generateKeyPair();
ステップ4:秘密鍵/公開鍵を取得する
以下に示すように、* getPrivate()*メソッドを使用して、生成されたKeyPairオブジェクトから秘密鍵を取得できます。
//Getting the private key from the key pair
PrivateKey privKey = pair.getPrivate();
以下に示すように、* getPublic()*メソッドを使用して、生成されたKeyPairオブジェクトから公開鍵を取得できます。
//Getting the public key from the key pair
PublicKey publicKey = pair.getPublic();
例
次の例は、 javax.crypto パッケージのKeyPairGeneratorクラスを使用した秘密鍵の鍵生成を示しています。
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