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

一、后端登录逻辑,检测账户密码是否合法及密码输入是否正确

视频链接:

网址:

第三节:【视频】后端登录逻辑,检测账户密码是否合法及密码输入是否正确视频链接:-CSDN博客

从5.1开始

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

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

5.1  本人效果图:

    /**** @param userAccount   用户账户* @param userPassword  用户密码* @return   脱敏后的用户信息*/Yupi1 doLogin(String userAccount,String userPassword);

5.3 开始

此处直接顺着敲击

5.7 跑完了一部分

对应的代码步骤如下:

引用日志:写出错误

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

手写代码如下:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4565.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

1438.绝对差不超过限制的最长连续子数组

显然我们是需要同时维护当前的最大值和最小值,这就需要两个单调队列dq_down(递减排列)一个维护最大值,dq_up(递增排列)一个维护最小值,同样这个是使用我们第二个模板 [left, i]. 只有当left等于某一个dq.front()的时候,才把它pop_front().这就使得对应相同的元素,我们只需要保…

LeetCode 热题 100 Day06

矩阵相关题型 Leetcode 48. 旋转图像【中等】 题意理解&#xff1a; 将一个矩阵顺时针旋转90度&#xff0c;返回旋转后的矩阵。 要求&#xff1a; 在原地修改&#xff0c;不借助额外的空间 如果可以使用辅助数组来实现转置,则有 matrix_new[i][j]matrix[j][row-i-1]; 解…

Kubernetes学习-核心概念篇(三) 核心概念和专业术语

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Kubernetes渐进式学习-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 1. 前言 在前面两篇文章我们简单介绍了什么是K8S&#xff0c;以及K8S的…

【保姆级讲解下gateway基本配置】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

STM32与OLED显示屏通信(四针脚和七阵脚)

系列文章目录 STM32单片机系列专栏 C语言术语和结构总结专栏 文章目录 1. 单片机调试 2. OLED简介 3. 接线 4. OLED驱动函数 4.1 四针脚版本 OLED.c OLED.h OLED_Font.h 4.2 七针脚版本 引脚连接 OLED.c OLED.h OLED_Font.h 5. 主函数 工程文件模板 1. 单片机…

JMeter的下载安装与使用(Mac)

1、下载地址​​​​​​https://jmeter.apache.org/download_jmeter.cgi 2、下载Binaries 下的apache-jmeter5.5.tgz 3、解压 4、启动 在bin目录下打开终端&#xff0c;输入sh jmeter 出现jmeter首页界面&#xff0c;即为成功。 5、使用 5.1 语言选择 option选项卡&am…

揭秘!七大副业赚钱秘籍,让你轻松实现财务自由!

以下是七种赚钱的副业推荐&#xff1a; 1&#xff0c;自媒体运营 自媒体运营是当下非常火热的副业之一。通过在微博、微信公众号、抖音、B站等自媒体平台上发布原创内容&#xff0c;吸引粉丝关注&#xff0c;进而实现流量变现。自媒体运营的核心在于内容创作和粉丝互动&#…

系统服务(22年国赛)—— DHCPDHCP Relay(中继)

前言&#xff1a;原文在我的博客网站中&#xff0c;持续更新数通、系统方面的知识&#xff0c;欢迎来访&#xff01; 系统服务&#xff08;22年国赛&#xff09;—— DHCP&&DHCP Relay(中继)https://myweb.myskillstree.cn/94.html 目录 一、题目 DHCP AppSrv 二…

Linux学习之路 -- 进程篇 -- 自定义shell的编写

前面介绍了进程程序替换的相关知识&#xff0c;接下来&#xff0c;我将介绍如何基于前面的知识&#xff0c;编写一个简单的shell&#xff0c;另外本文的所展示的shell可能仅供参考。 目录 <1>获取用户的输入和打印命令行提示符 <2>切割字符串 <3>执行这个…

第 4 篇 : Netty客户端互发图片和音/视频

说明 因为图片和音/视频不能确定其具体大小, 故引入MinIO。客户端之间只发送消息, 通过上传/下载来获取额外信息 1. MinIO搭建(参考前面文章), 并启动 2. 登录MinIO创建3个Bucket: image、voice、video 3. 客户端改造 3.1 修改 pom.xml <?xml version"1.0" …

苍穹外卖绕过微信支付

经过以下改动可实现&#xff1a; 1、不用微信支付端口 2、弹出支付成功的界面 3、数据库修改支付成功后的数据 #在OrderServiceImpl.java里加入Autowiredprivate OrderService orderService; #在OrderServiceImpl.java里的payment函数做以下改动 #图片里有&#xff0c;红色为原…

2024李卜常识王小晨申论类比刷题课

2024年&#xff0c;李卜常识与王小晨申论类比刷题课成为备考公务员考试的热门选择。李卜老师以其深厚的学识&#xff0c;为学员们剖析常识的精髓&#xff1b;而王小晨老师则通过类比刷题的方式&#xff0c;帮助学员们掌握申论的技巧。这两门课程相互补充&#xff0c;让学员们在…

03-JAVA设计模式-观察者模式

观察者模式 什么是观察者模式 Java中的观察者模式是一种常见的设计模式&#xff0c;它允许对象&#xff08;观察者&#xff09;订阅另一个对象&#xff08;被观察者&#xff09;的状态变化&#xff0c;并在状态变化时自动得到通知。 核心&#xff1a; 观察者模式主要用于1&a…

手搓带头双向循环链表(C语言)

目录 List.h List.c ListTest.c 测试示例 带头双向循环链表优劣分析 List.h #pragma once#include <stdio.h> #include <stdlib.h> #include <assert.h>typedef int LTDataType;typedef struct ListNode {struct ListNode* prev;struct ListNode* next…

如何提升WordPress网站安全

上周遇到Hostease的客户反馈他想要提升wordpress网站的安全性。提升WordPress网站安全是网站所有者必须重视的事项。以下是一些有效的安全措施&#xff0c;可帮助您保护WordPress网站免受潜在威胁&#xff1a; 1.选择可靠的WordPress主机 选择一个可靠的WordPress主机提供商至…

关于文档中心的英文快捷替换方案

背景&#xff1a;文档中心需要接入国际化&#xff0c;想节省时间做统一英文方案处理&#xff1b; 文档中心是基于vuepress框架编写的&#xff1b; 1、利用百度翻译 API 的接口去做底层翻译处理&#xff0c;https://api.fanyi.baidu.com/需要在该平台上注册账号&#xff0c;个人…

unittest自动化测试框架详解

一、单元测试的定义 1. 什么是单元测试&#xff1f; ​ 单元测试是指&#xff0c;对软件中的最小可测试单元在与程序其他部分相隔离的情况下进行检查和验证的工作&#xff0c;这里的最小可测试单元通常是指函数或者类&#xff0c;一般是开发来做的&#xff0c;按照测试阶段来…

day5 c++

#include <iostream> using namespace std; class Person { public:string name;int *age;//Person():name(name),age(new int(100)){cout<<"无参构造"<<endl;}Person(string name,int age):name(name),age(new int(100)){cout <<"P的有…

创新科技赋能旅游服务:智慧文旅引领旅游发展新篇章,智能体验助力产业转型升级

随着科技的飞速发展和人们生活水平的提高&#xff0c;旅游业正迎来前所未有的发展机遇。创新科技在旅游服务领域的广泛应用&#xff0c;不仅提升了旅游体验的品质&#xff0c;也为旅游产业的转型升级注入了新的动力。智慧文旅作为旅游业与信息技术深度融合的产物&#xff0c;正…

Linux内核广泛采用的侵入式数据结构设计

Linux内核广泛采用的侵入式数据结构设计恐怕很难应用到一般程序开发中。基本上是个高维十字链表&#xff0c;一个节点(struct)可以同时位于多个hash/list/tree中。我分享下我的经历&#xff0c;我刚入行时遇到一个好公司和师父&#xff0c;给了我机会&#xff0c;一年时间从3k薪…