• 第三节课,后端登录【1】--本人


    一、

    从5.1开始

    这是一个Java方法,名为doLogin,接收两个参数:userAccount(用户账号)和userPassword(用户密码)。返回值类型为Yupi1。

    1. public Yupi1 doLogin(String userAccount, String userPassword) {
    2. // 在这里实现登录逻辑
    3. }

    5.1  本人效果图:

    1. /**
    2. *
    3. * @param userAccount 用户账户
    4. * @param userPassword 用户密码
    5. * @return 脱敏后的用户信息
    6. */
    7. Yupi1 doLogin(String userAccount,String userPassword);

    5.3 开始

    此处直接顺着敲击

    5.7 跑完了一部分

    对应的代码步骤如下:

    引用日志:写出错误

    将在两个函数中都用到的变量放在最外面

    手写代码如下:

    1. // 1.校验 账户、密码、校验码 是否包含任何真空值(包含空格或空值)
    2. // if (true 里面任意一个字段:包含空格或空值) return -1; 就失败了
    3. if(StringUtils.isAnyBlank(userAccount,userPassword))
    4. {
    5. return null;
    6. }
    7. if (userAccount.length() < 4)
    8. {
    9. return null;
    10. }
    11. if (userPassword.length() < 8 )
    12. {
    13. return null;
    14. }
    15. // 账户不能包含特殊字符
    16. // m.find();//返回true 输入的账户有 特殊字符,需重新输入
    17. String validPattern = "[`~!@#$%^&*()+=|{}':;',\\\\[\\\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。,、?]";
    18. Matcher matcher = Pattern.compile(validPattern).matcher(userAccount);
    19. if (matcher.find())
    20. {
    21. return null;
    22. }
    23. // 3.对密码进行加密(密码千万不要直接以明文存储到数据库中)
    24. // 写代码前,已测试
    25. /**
    26. * 在本项目,test 文件夹下,UserCenterApplicationTests 里面书写代码,运行测试的
    27. *
    28. * @Test
    29. * void testDigest() throws NoSuchAlgorithmException{
    30. * String newPassword = DigestUtils.md5DigestAsHex(("abcd" + "mypassword").getBytes());
    31. * System.out.println(newPassword);
    32. * }
    33. *
    34. * 运行成功 输出为:(16进制)【可变】78e3504a70116aa7474d614b517809c6
    35. *
    36. */
    37. String encryptPassword = DigestUtils.md5DigestAsHex((sAlt + userPassword).getBytes());
    38. //查询用户是否存在,以及判断密码是否等于加密后的算法
    39. QueryWrapper<Yupi1> queryWrapper = new QueryWrapper<>();
    40. queryWrapper.eq("userAccount",userAccount);
    41. queryWrapper.eq("userPassword",encryptPassword);
    42. Yupi1 yupi1 = yupi1Mapper.selectOne(queryWrapper);
    43. if (yupi1 == null) {
    44. log.info("user Login failed, userAccount cannot match userPassword");
    45. return null;
    46. }
    47. long count = yupi1Mapper.selectCount(queryWrapper);
    48. return null;

  • 相关阅读:
    【分享贴】VUCA环境下实现价值交付,PMO亟待转型
    java基于Springboot+vue的药品销售商城 药品进销存系统 element
    Redis(主从复制、哨兵模式、集群)概述及部署
    leecode #加一#二进制求和
    数据可视化分析工具DataEase
    unity sdk -AppLovin MAX 广告聚合平台接入+Firebase统计
    【uniapp】HBuilderx中uniapp项目运行到微信小程序报错Error: Fail to open IDE
    Docker Hub 公有镜像在国内拉取加速配置
    洛谷 P5306 [COCI2019] Transport 题解
    7.取消与关闭
  • 原文地址:https://blog.csdn.net/chemddd/article/details/138197264