Java Şifreleme - KeyPairGenerator

Java, KeyPairGeneratorsınıf. Bu sınıf, genel ve özel anahtar çiftleri oluşturmak için kullanılır. Kullanarak anahtarlar oluşturmak içinKeyPairGenerator sınıf, aşağıda verilen adımları izleyin.

Adım 1: Bir KeyPairGenerator nesnesi oluşturun

KeyPairGenerator sınıf sağlar getInstance() gerekli anahtar oluşturma algoritmasını temsil eden bir String değişkenini kabul eden ve anahtarları oluşturan bir KeyPairGenerator nesnesi döndüren yöntem.

Oluşturmak KeyPairGenerator kullanarak nesne getInstance() yöntemi aşağıda gösterildiği gibi.

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

Adım 2: KeyPairGenerator nesnesini başlatın

KeyPairGenerator sınıf adlı bir yöntem sağlar initialize()bu yöntem, anahtar çifti üretecini başlatmak için kullanılır. Bu yöntem, anahtar boyutunu temsil eden bir tamsayı değerini kabul eder.

Aşağıda gösterildiği gibi bu yöntemi kullanarak önceki adımda oluşturulan KeyPairGenerator nesnesini başlatın.

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

3. Adım: KeyPairGenerator'ü oluşturun

Sen üretebilirsin KeyPair kullanmak generateKeyPair() yöntemi KeyPairGeneratorsınıf. Aşağıda gösterildiği gibi bu yöntemi kullanarak anahtar çiftini oluşturun.

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

4. Adım: Özel anahtarı / genel anahtarı alın

Özel anahtarı, oluşturulan KeyPair nesnesinden, getPrivate() yöntemi aşağıda gösterildiği gibi.

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

Ortak anahtarı, oluşturulan KeyPair nesnesinden, getPublic() yöntemi aşağıda gösterildiği gibi.

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

Misal

Aşağıdaki örnek, anahtarın KeyPairGenerator sınıfı kullanılarak gizli anahtarın anahtar üretimini gösterir. javax.crypto paketi.

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");
   }
}

Çıktı

Yukarıdaki program aşağıdaki çıktıyı üretir -

Keys generated