การเข้ารหัส 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