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

news2024/9/21 12:28:03

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

视频链接:

网址:

第三节:【视频】后端登录逻辑,检测账户密码是否合法及密码输入是否正确视频链接:-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.coloradmin.cn/o/1631274.html

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

相关文章

新能源设备远程监控解决方案

新能源设备远程监控解决方案 在当今全球能源转型的大背景下&#xff0c;新能源设备的广泛应用已成为应对环境挑战、推动可持续发展的重要途径。然而&#xff0c;新能源设备的高效运维与管理却面临诸多挑战&#xff0c;尤其是在地域广阔、环境复杂的应用场景中&#xff0c;如何…

Ragas

文章目录 一、关于 Ragas二、安装&#x1f6e1;️三、快速使用 &#x1f525;Open Analytics &#x1f50d; 四、References五、生成综合测试集文档数据生成 六、使用您的测试集进行评估数据Metrics 指标评估 七、监控生产中的 RAG需要监控的方面 一、关于 Ragas Ragas 是 RAG…

FPGA -手写异步FIFO

一&#xff0c;FIFO原理 FIFO&#xff08;First In First Out&#xff09;是一种先进先出的数据缓存器&#xff0c;没有外部读写地址线&#xff0c;使用起来非常简单&#xff0c;只能顺序写入数据&#xff0c;顺序的读出数据&#xff0c;其数据地址由内部读写指针自动加1完成&a…

游戏新手村20:游戏落地页广告页如何设计

在互联网营销中,着陆页(Landing Page,有时被称为首要捕获用户页)就是当潜在用户点击广告或者搜索引擎搜索结果页后显示给用户的网页&#xff0c;LandingPage对于游戏广告的转化率和重要性就不言而喻了。 网页游戏LP页面 上图就是我们大家在浏览网站时不小心蹦出或者主动点击某…

一文讲解Android车载系统camera架构 - EVS

Android的camera开发中&#xff0c;使用最多的是camera2 以及现在Google主推的cameraX 架构&#xff0c;而这两个架构主要针对的是手机移动端上camera的流程。 而今天介绍的EVS(Exterior View System)架构是不同于camera2上的手机架构&#xff0c;针对Automotive的版本&#x…

数据库介绍(Mysql安装)

前言 工程师再在存储数据用文件就可以了&#xff0c;为什么还要弄个数据库? 一、什么是数据库&#xff1f; 文件保存数据有以下几个缺点&#xff1a; 文件的安全性问题文件不利于数据查询和管理文件不利于存储海量数据文件在程序中控制不方便 数据库存储介质&#xff1a; 磁…

Blender游戏资产优化技巧

创建视频游戏资产既具有挑战性又富有回报。 经过一些研究并根据我的经验&#xff0c;这里有三个技巧可以帮助你使用 Blender 优化游戏资产。 在 Blender 中优化游戏资源的三种技术可以归结为拥有高效的 3D 模型拓扑、通过烘焙优化纹理&#xff0c;以及最后通过 Blender 节点的…

智慧校园建设有哪些新策略?

在现有智慧校园建设方案中&#xff0c;智慧校园主要是用于解决学校日常事务&#xff0c;如学工管理&#xff0c;教工管理等&#xff0c;并利用数据分析&#xff0c;指导学校的一些决策行为。但随着新技术的不断发展&#xff0c;尤其是云计算、大数据、物联网、移动互联网、人工…

python应用-socket网络编程(1)

目录 1 先简单回顾下客户端和服务端通信的知识 2 服务端常用函数 3 客户端常用函数 4 服务端和客户端都用的函数 5 示例介绍客户端和服务端通信过程 6 建立服务端套接制 7 创建服务端函数socket.create_server() 8 创建客户端套接字 9 客户端连接函数socket.create_co…

春秋云镜 CVE-2023-50564

靶标介绍&#xff1a; Pluck-CMS v4.7.18 中的 /inc/modules_install.php 组件&#xff0c;攻击者可以通过上传一个精心制作的 ZIP 文件来执行任意代码。 开启靶场&#xff1a; 1、点击 admin 进入登录界面 2、使用Burp爆破出登录密码为&#xff1a;admin123&#xff0c;使用…

【吊打面试官系列】Java高并发篇 - 为什么 wait, notify 和 notifyAll 这些方法不在 thread类里面?

大家好&#xff0c;我是锋哥。今天分享关于 【为什么 wait, notify 和 notifyAll 这些方法不在 thread类里面&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; 为什么 wait, notify 和 notifyAll 这些方法不在 thread类里面&#xff1f; 一个很明显的原因是 JAVA…

个人学习总结__打开摄像头、播放网络视频的以及ffmpeg推流

前言 最近入手了一款非常便宜的usb摄像头&#xff08;买回来感觉画质很低&#xff0c;没有描述的4k&#xff0c;不过也够用于学习了&#xff09;,想着利用它来开启流媒体相关技术的学习。第一步便是打开摄像头&#xff0c;从而才能够对它进行一系列后续操作&#xff0c;诸如实…

python-pytorch 如何使用python库Netron查看模型结构(以pytorch官网模型为例)0.9.2

Netron查看模型结构 参照模型安装Netron写netron代码运行查看结果需要关注的地方 2024年4月27日14:32:30----0.9.2 参照模型 以pytorch官网的tutorial为观察对象&#xff0c;链接是https://pytorch.org/tutorials/intermediate/char_rnn_classification_tutorial.html 模型代…

IDEA代码重构

重构 重构的目的&#xff1a; 提高代码的可读性、可维护性、可扩展性和性能。 重命名元素 重命名类 当我们进行重命名操作的时候可以看到第六行存在一个R(rename)&#xff0c;点击后就会弹出所偶有引用&#xff0c;这样可以避免我们在修改后存在遗漏引用处未修改。 我们可以通过…

Vue项目解决自定义el-dialog的border-radius无效的问题

一、问题产生的原因 自定义el-dialog的border-radius无效的原因其实就是因为层级的问题&#xff0c; f12打开样式检查就能发现组件自身已经全局定义了一个圆角变量 二、解决方法 和上面一样&#xff0c;在项目全局也就是在app.vue中定义全局变量 并且需要给!important&a…

【阿里云笔试题汇总】2024-04-20-阿里云春招笔试题-三语言题解(CPP/Python/Java)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新阿里云近期的春秋招笔试题汇总&#xff5e; &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f…

3. uniapp开发工具的一些事

前言 新的一天&#xff0c;又要开始卷起来了&#xff0c;开发程序开发当前离不开开发工具&#xff0c;一个好的开发工具办事起来那必然是事倍功半的...本文主要分享了关于uniapp里开发工具的一些事~ 概述 阅读时间&#xff1a;约5&#xff5e;7分钟&#xff1b; 本文重点&am…

《深入理解mybatis原理》 MyBatis的架构设计以及实例分析

《深入理解mybatis原理》 MyBatis的架构设计以及实例分析 MyBatis是目前非常流行的ORM框架&#xff0c;它的功能很强大&#xff0c;然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路&#xff0c;并且讨论MyBatis的几个核心部件&#xff0c;然后结合一个select查…

linux下安装deepspeed

安装步骤 一开始安装deepspeed不可以使用pip直接进行安装。 这时我们需要利用git进行clone下载到本地&#xff1a; git clone https://github.com/microsoft/DeepSpeed.git 进入到deepspeed的安装目录下 cd /home/bingxing2/ailab/group/ai4agr/wzf/Tools/DeepSpeed 激活…

探索小猪APP分发平台:数字时代的新宠

随着数字化进程的加速&#xff0c;移动应用&#xff08;APP&#xff09;市场正迅速扩大。在这个充满竞争的市场中&#xff0c;一个优秀的APP分发平台能够帮助开发者和商家更有效地触及潜在用户&#xff0c;而小猪APP分发平台&#xff08;www.ppzhu.net&#xff09;正是其中的佼…