codeFlowType:
codeWrite
codeFlowLang:
Java
Разработай программу, которая будет введенные пользователем данные и возвращать открытый и закрый ключи
Конечно! Вот пример программы на языке Java, которая генерирует пару открытого и закрытого ключей с использованием библиотеки java.security
. Программа будет запрашивать у пользователя количество бит для ключа, а затем будет выводить открытый и закрытый ключи в формате Base64.
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.NoSuchAlgorithmException;
import java.security.Security;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.util.Base64;
import java.util.Scanner;
public class KeyPairGeneratorExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("Введите количество бит для ключа (например, 2048): ");
int keySize = scanner.nextInt();
try {
// Генерация пары ключей
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
keyPairGenerator.initialize(keySize);
KeyPair keyPair = keyPairGenerator.generateKeyPair();
// Получение открытого и закрытого ключей
PublicKey publicKey = keyPair.getPublic();
PrivateKey privateKey = keyPair.getPrivate();
// Кодирование ключей в Base64
String publicKeyBase64 = Base64.getEncoder().encodeToString(publicKey.getEncoded());
String privateKeyBase64 = Base64.getEncoder().encodeToString(privateKey.getEncoded());
// Вывод ключей
System.out.println("Открытый ключ:");
System.out.println(publicKeyBase64);
System.out.println("\nЗакрытый ключ:");
System.out.println(privateKeyBase64);
} catch (NoSuchAlgorithmException e) {
System.err.println("Ошибка генерации ключей: " + e.getMessage());
} finally {
scanner.close();
}
}
}
KeyPairGenerator
для генерации пары ключей RSA.