程序框架
程序框架如图所示:
代码展示:
Main方法:
package com.jd.test;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.UUID;
import com.jd.tool.MD5Tool;
import com.jd.tool.db.DBLink;
/*
* 问题:当DBA(数据库管理员)登录数据库查看时可以看到所有人的账户密码,有可能造成泄密
* 解决方法:MD5加密
*
* */
public class Main {
public static void main(String[] args) {
System.out.println("*********************************");
System.out.println("*\t\t\t\t*");
System.out.println("*\t欢迎使用账号登录页面\t*");
System.out.println("*\t\t\t\t*");
System.out.println("*********************************");
while (true) {
menu();
}
}
@SuppressWarnings("unlikely-arg-type")
static void menu() {
System.out.println("1、注册");//用户名 密码 确认密码
System.out.println("2、登录");//用户名和密码
System.out.println("3、退出");//System.exit(0)结束
System.out.println("请输入操作,以Enter键结束:");
Scanner scanner = new Scanner(System.in);
int option = scanner.nextInt();
switch (option) {
case 1:{
System.out.println("请输入用户名:");
String userName = scanner.next();
System.out.println("请输入密码:");
String password = scanner.next();
System.out.println("请再次确认密码:");
String rePassword = scanner.next();
String sql = "select id from user_info where user_name = ?";
if(new DBLink().exist(sql, userName)) {
System.out.println("用户名被占用,操作终止!");
return;
}
if(!password.equals(rePassword)) {
System.out.println("两次密码不同,操作终止!");
return;
}
String id = UUID.randomUUID().toString();
password = MD5Tool.encrypt(password);
sql = "insert into user_info (id,user_name,password) values('"+id+"',?,?)";
if(new DBLink().update(sql, userName,password)) {
System.out.println("注册成功!");
return