java实现功能您想自行设定密钥(1)还是随机生成密钥(2) 屏幕输入1或2选择
时间: 2024-01-25 12:04:57 浏览: 17
好的,以下是示例代码,可以让用户选择手动输入密钥或者随机生成密钥:
```
import java.util.Scanner;
import java.util.Random;
public class KeyGenerationExample {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请选择密钥生成方式:");
System.out.println("1. 手动输入密钥");
System.out.println("2. 随机生成密钥");
int choice = scanner.nextInt();
String secretKey = "";
switch (choice) {
case 1:
System.out.print("请输入密钥:");
secretKey = scanner.next();
break;
case 2:
secretKey = generateRandomKey();
System.out.println("生成的随机密钥为:" + secretKey);
break;
default:
System.out.println("无效的选项!");
System.exit(1);
}
// 使用生成的密钥进行加解密等操作
// ...
}
private static String generateRandomKey() {
// 生成一个16字节的随机密钥
byte[] key = new byte[16];
new Random().nextBytes(key);
return new String(key);
}
}
```
这个示例代码中,我们首先输出一个菜单,让用户选择手动输入密钥或者随机生成密钥。然后,我们使用Scanner类读取用户的选择。
如果用户选择手动输入密钥,我们使用Scanner类读取密钥并将其存储在字符串变量`secretKey`中。
如果用户选择随机生成密钥,我们调用`generateRandomKey()`方法生成一个随机密钥,并将其存储在变量`secretKey`中。在`generateRandomKey()`方法中,我们使用Java的Random类生成一个随机字节数组,并将其转换为字符串。
最后,我们可以使用生成的密钥进行加解密等操作。请注意,在实际应用中,您可能需要使用更加复杂的密钥生成方法来保证密钥的安全性。