日结(5.5-5.7)

文章详细描述了登录注册过程中的关键步骤,包括使用UUID确保唯一性,MD5加密增强密码安全性,邮箱验证及验证码机制。此外,还提及了生日日期的限制,防止选择未来日期,并讨论了重复登录的处理策略。在教师端,提到了课程管理和班级创建功能,特别是课程班级的专属码生成。
摘要由CSDN通过智能技术生成

这俩天完善了在登录注册部分能想到的所有细节

UUid生成

在注册完成后生成一个不重复的uuid,同时对邮箱进行判重,最终返回User类发送到客户端

 public String uuid() {
        String id=null;
        while (true){
            UUID uuid = UUID.randomUUID();
            String strUUID = uuid.toString();

            // 截取UUID的前8个字符
            String shortUUID = strUUID.substring(0, 8);
            //查重
            int i= new  RepeatDao().Urepeat(shortUUID);
            //无重->生成
            if(i==0){id=shortUUID;break;}
        }
        return id;
    }

MD5加密

当用户输入完密码通过正则判断后,进行MD5加密后发送到服务端

public String md(String str) throws NoSuchAlgorithmException {

        // 创建 MD5 实例
        MessageDigest md = MessageDigest.getInstance("MD5");


        // 将字符串转化为字节数组
        byte[] strBytes = str.getBytes();

        // 计算 MD5 值
        byte[] mdBytes = md.digest(strBytes);

        // 将 MD5 值转化为十六进制字符串
        StringBuffer sb = new StringBuffer();
        for (byte b : mdBytes) {
            sb.append(Integer.toString((b & 0xff) + 0x100, 16).substring(1));
        }
        //反悔加密串
        String mdStr = sb.toString();
        return mdStr;
    }

忘记密码

发送验证码,输入新密码,判断邮箱是否存在,完成登录以及修改密码

跟注册部分的实现差不多---

修改密码

先判断旧密码,再输入并确认新密码,通过正则后MD5加密发送更改密码

生日日期限制

选择日期不能大于当前日期,在客户端就要限制

public boolean Birday(String sq) {

        Calendar calendar = Calendar.getInstance();

        int year = calendar.get(Calendar.YEAR);

        int month = calendar.get(Calendar.MONTH);

        int date = calendar.get(Calendar.DATE);
month++;//校准时间
        String now=null;
        if(month<10)
           now = year + "-" +"0"+ month;
            else now = year + "-" + month;
            if(date<10)
                now=now+"-"+"0"+date;
            else now=now+"-"+date;

        System.out.println(now);
        int dateFlag = now.compareTo(sq);
        if(dateFlag>0)return true;
        else
            return false;
    }

重复登录

登录成功后发送信号到服务端,服务端用hashmap储存,key为uuid,如果同一id发送请求,服务端就拒绝响应

项目:

分学生端和教师端写

教师端:

主界面展示所有教的课程

创建课程:

在所有给出的课程中选课,同时创建一个课程班级,创建成功后会自动生成一个班级专属码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值