【金秋打卡】第1天 用户密码的加密与解密
标签:
SpringBoot
课程名称:SpringBoot+Vue3 项目实战,打造企业级在线办公系统
课程章节: 用户管理模块
课程讲师: 神思者
课程内容:
课程内容:
加密与解密
课程收获:
再tb_user数据表中保存的用户信息里面,password字段的值是经过加密存储的,而且不存在全局密钥,使用username作为密钥,对password字段进行加密,也就是说10000w条的用户记录,就存在10000w个密钥,这对黑客采用穷举法来破译来说,计算量是特别大的,如果每个密钥中采用加盐的做法,那么黑客估计自杀的心都有乐,例如对用户名取md5值,然后取最后六位字符串和用户名拼接在一起,当作密钥
说到加密算法,课程中采用的是ibm开发的AES算法,这种对称加密算法再加密和解密的时候,使用相同的数据,也就是说密钥可以用来加密数据,也可以用来解密数据,
mysql数据库提供了内置的DES加密和解密函数,可以直接调用,加密的函数叫做`AES_ENCRPT()`,解密的函数叫做`AES_DECRPT()`,
ELECT AES_ENCRYPT("abc123456","HelloWorld");
因为加密后的字节数据在UTF8字符集中会出现乱码,所以我把字节数据转换成16进制数据(HEX),就不会出现乱码了。```sql SELECT HEX(AES_ENCRYPT("abc123456","HelloWorld")); ```
解密的时候,我们需要先把16进制数据转换成字节,然后进行解密。
SELECT AES_DECRYPT(UNHEX("F943968B28B2D93E2DC48CD72014FE1A"),"HelloWorld")
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦