为了账号安全,请及时绑定邮箱和手机立即绑定

【学习打卡】第1天 在线办公系统

标签:
MySQL SpringBoot

课程名称:SpringBoot+Vue3 项目实战,打造企业级在线办公系统

课程章节:第三章

主讲老师:深思者



课程内容:

    课程时序

    用户密码的加密解密


课程收获:

    1.课程时序

    用户在前端填写username, password,前端页面发送ajax请求,ajax请求后端UserController类中定义login方法,对用户信息的后端验证功能,调用UserServiceImpl的UserService实现接口的子类,并在该类中申明login方法。此时用Controller的login方法去调用Service的login方法,将username, password传递到Service,Service调用Dao,Dao中login方法执行SQL语句,返回的是Integer类型的值,这是用户数据的主键值,用Integer是因为在查询不到用户时可以返回null,而int不行。

    Service拿到返回结果后将返回的结果提交给Controller,此时Controller再调用Service中的searchUser Permissions方法,并用这个方法去调用Dao中的searchUserPermissions方法,返回的结果是Set集合,最后Controller返回给前端程序的结果是一个权限的集合与布尔值

    

https://img1.sycdn.imooc.com/62ea1f6e00015e7208790394.jpg

2.用户密码的加密解密

    存在表中的密码 安全起见 不能使用明文 所以需要对用户密码进行加密处理 , 使用username 作为密钥对 password进行加密

    MySQL数据库提供了内置的DES加密和解密的函数,我们只需要调用即可。加密的函数叫做`AES_ENCRPT()`,解密的函数叫做`AES_DECRPT()`

    因为加密后的字节数据在UTF8字符集中会出现乱码,所以我把字节数据转换成16进制数据(HEX)

    密码加盐: 我们通常会将用户的密码进行 Hash 加密,如果不加盐,即使是两层的 md5 都有可能通过彩虹表的方式进行破译。彩虹表就是在网上搜集的各种字符组合的 Hash 加密结果。而加盐,就是人为的通过一组随机字符与用户原密码的



点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消