JAVA之数据库——MD5加密实战

    技术2022-07-13  86

    创建项目,板块样式如下

    创建Main文件,具体实线增删功能

    实现添加功能

    1、注入sql语句使其先行检测是否事先存在已有账户

    String sql = "select id from user_info where user_name = ?"; if(new DBLink().exist(sql, userName)) { System.out.println("用户名已存在,操作终止"); return; }

    2、检测密码和重复密码是否一致

    if(!Password.equals(rePassword)) { System.out.println("两次输入密码不一致,操作终止"); return; }

    3、随机生成id添加入数据库

    String id = UUID.randomUUID().toString();

    4、利用MD5Tool加密密码

    Password = MD5Tool.encrypt(Password);

    5、利用sql语句将数据添加进数据库

    sql = "insert into user_info (id,user_name,password) values('"+id+"',?,?)"; if(new DBLink().update(sql, userName,Password)) { System.out.println("注册成功"); return; }

    账户的登录

    1、登录之前再次将密码进行加密,加密相同的内容得到的密文相同 password = MD5Tool.encrypt(password); 2、注入sql语句使其先行检测

    String sql = "select id from user_info where user_name = ? and password = ?"; if(new DBLink().exist(sql, userName,password)) { System.out.println("登录成功"); return; }

    MD5Tool代码总览

    public class MD5Tool { public static String encrypt(String password) { byte[] bytes = null; try { MessageDigest messageDigest = MessageDigest.getInstance("MD5"); messageDigest.update(password.getBytes());//加密 bytes = messageDigest.digest();//获得加密结果 } catch (Exception e) { e.printStackTrace(); } String result = new BigInteger(1, bytes).toString(16);// 将加密后的数据转换为16进制数字 // 生成数字未满32位,则前面补0 for (int i = 0; i < 32 - result.length(); i++) { result = "0" + result; } return result; } }
    Processed: 0.012, SQL: 9