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