继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

有梦
关注TA
已关注
手记 82
粉丝 27
获赞 19

课程名称: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返回给前端程序的结果是一个权限的集合与布尔值

    

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

2.用户密码的加密解密

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

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

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

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



打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP