用Java写一个登录注册时四个字符的随机验证代码
时间: 2024-03-11 14:48:02 浏览: 18
下面是一个简单的 Java 登录注册时四个字符的随机验证代码示例:
```java
import java.util.HashMap;
import java.util.Random;
import java.util.Scanner;
public class LoginRegister {
private HashMap<String, String> users = new HashMap<String, String>();
private HashMap<String, String> codes = new HashMap<String, String>();
public static void main(String[] args) {
LoginRegister lr = new LoginRegister();
lr.run();
}
public void run() {
Scanner scanner = new Scanner(System.in);
String command;
do {
System.out.println("请输入命令:login 或 register 或 exit");
command = scanner.nextLine().trim().toLowerCase();
switch (command) {
case "login":
login(scanner);
break;
case "register":
register(scanner);
break;
case "exit":
System.out.println("退出程序");
break;
default:
System.out.println("不支持的命令,请重新输入");
break;
}
} while (!command.equals("exit"));
}
public void login(Scanner scanner) {
System.out.println("请输入用户名:");
String username = scanner.nextLine().trim();
System.out.println("请输入密码:");
String password = scanner.nextLine().trim();
if (users.containsKey(username) && users.get(username).equals(password)) {
System.out.println("请输入验证码(四个字符):");
String code = scanner.nextLine().trim();
if (codes.containsKey(username) && codes.get(username).equals(code)) {
System.out.println("登录成功");
} else {
System.out.println("验证码错误,请重新输入");
}
} else {
System.out.println("登录失败,请检查用户名和密码是否正确");
}
}
public void register(Scanner scanner) {
System.out.println("请输入用户名:");
String username = scanner.nextLine().trim();
if (users.containsKey(username)) {
System.out.println("该用户名已被注册,请重新输入");
return;
}
System.out.println("请输入密码:");
String password = scanner.nextLine().trim();
String code = generateCode();
System.out.println("验证码:" + code);
codes.put(username, code);
users.put(username, password);
System.out.println("注册成功");
}
public String generateCode() {
Random random = new Random();
StringBuilder code = new StringBuilder();
for (int i = 0; i < 4; i++) {
code.append((char) (random.nextInt(26) + 'a'));
}
return code.toString();
}
}
```
这个示例中,我们在注册时生成了一个四个字符的随机验证码,并将其保存到另一个 HashMap 中。在登录时,程序会提示用户输入验证码,并将其与保存在 HashMap 中的验证码进行比较。如果匹配成功,则登录成功。