当前位置: 首页 > news >正文

第3章 基于RBAC,实现用户模块

3-2 用户登陆系统的流程说明

Emos在线办公系统有两种登陆的方式,一种是微信小程序扫描二维码登陆,这个功能已经实现了,内置到项目中;另一种是账户密码的登陆方式,我们写程序实现的就是该功能。

image

我们动手写用户登陆的代码之前,必须要先了解其中的具体流程,所以我画了下面这幅时序图,咱们对照时序图写程序,思路更加清晰。

image

上面时序图中,后端项目最终返回给前端的R对象中包含两种数据,一个是布尔值代表登陆结果,另一个是该用户的拥有的权限列表。因为在前端需要根据权限判断用户是否可以看到某些栏目和执行某些操作。​

用户密码的加密与解密
在tb_user数据表中保存的用户信息里面,password字段的值是经过加密存储的,而且不存在全局密钥。我使用每个用户的username作为密钥,对password字段加密。也就是说100万条用户记录,就存在100万个密钥。这对黑客采用穷举方法破解密钥来说,计算量超级大。如果每个密钥中采用加盐的做法,那么黑客估计自杀的心都有了。大家可以自己设计加盐的做法,例如对用户名取MD5值,然后取最后六位字符和用户名拼接在一起,当做密钥。

​说回到加密算法,我这里采用的是IBM开发的AES算法。这种对称加密算法在加密和解密数据的时候,使用相同的密钥。也就是说密钥既可以用来加密数据,也可以解密数据。关于AES算法的优点我这里不展开说明了,大家可以自己百度查阅资料。​MySQL数据库提供了内置的DES加密和解密的函数,我们只需要调用即可。加密的函数叫做AES_ENCRPT(),解密的函数叫做AES_DECRPT(),下面咱们结合具体案例了解这两个函数的用法。

SELECT AES_ENCRYPT("abc123456","HelloWorld");

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

SELECT HEX(AES_ENCRYPT("abc123456","HelloWorld")); 

解密的时候,我们需要先把16进制数据转换成字节,然后进行解密。

SELECT AES_DECRYPT(UNHEX("F943968B28B2D93E2DC48CD72014FE1A"),"HelloWorld")

3-3 编写用户登陆程序(后端)

http://www.jsqmd.com/news/1044116/

相关文章:

  • 终极Nintendo Switch游戏文件管理指南:如何用NSC_BUILDER一键搞定所有文件格式烦恼
  • 武汉买猫买狗去哪看?梦宠山庄实地体验分享 - 园友3800037
  • Navicat重置脚本:三步实现Mac版永久免费使用的完整指南
  • MC68HC908LD64:经典8位显示控制MCU的架构解析与工程实践
  • 西安建筑资质代办怎么不踩坑?2026 本地靠谱代办机构一览 - 速递信息
  • 从零到一:在MATLAB中构建并部署你的首个U-Net图像分割模型
  • 杭州新手养宠指南:梦宠山庄看宠流程记录 - 园友3800037
  • 2026西安初创建筑公司办证指南 靠谱资质代办机构推荐 - 速递信息
  • 从零上手:基于RTKLIB的实时PPP定位实战指南
  • (转)一次ANSYS EM 2023R1 “Request name electronics_desktop does not exist in the licensing pool.“的离谱解决记录
  • 重磅!2026年度JCR 期刊分区发布
  • 从零到一:Jetlinks物联网平台服务器部署实战与避坑指南
  • 如何永久保存微信聊天记录:3步掌握WeChatMsg数据留痕技术
  • Spring Cloud Alibaba 最佳实践:基于 Spring Boot 4.0 的完整微服务示例项目
  • 面试被问“你的缺点是什么”,90%的应届生都答错了!(附满分话术)
  • GodMode9:任天堂3DS终极文件管理器完全指南
  • 2026山东大学项目实训个人博客(六)
  • 微信小程序地址选择器组件架构设计与数据联动算法深度解析
  • 三步掌握AI斗地主:如何用DouZero智能助手提升你的游戏胜率
  • 2026佛山宠物售卖评分榜|佛山买狗买猫实测测评,正规犬舍避坑全攻略 - 吉林同城获客
  • 从实施到算法:工业AGV/AMR工程师核心能力全景解析
  • 探索AI世界,发现无限可能 —— WoLoveAI,你的专属AI导航与学习平台
  • 大模型需求翻译困境与GPT-4o的免翻译能力突破
  • 从Copilot到Agent:软件工程范式的第三次迁移
  • 西安资质代办去哪里靠谱?2026本土合规企业服务机构榜单 - 速递信息
  • 24CS32 EEPROM软件写保护机制与I2C通信实战指南
  • DC/DC电源设计实战:从MIC261201选型到PCB布局与热管理全解析
  • KMS智能激活工具完整指南:轻松激活Windows和Office系统
  • Navicat Mac版功能恢复指南:如何保持数据库管理工具持续可用
  • 2026济南婚纱摄影选型全指南:行业标准、品牌梯队与合规避坑全解析 - 速递信息