Python中使用flask框架下的第三方模块对登录密码加密

写在前面

这是我第一次尝试写博客,目的是跟广大的技术学习爱好者分享一些好玩的、实用的技术,同时也是对自己知识的一种总结和提炼回顾。初次体验发表文章,难免有表达不够到位和不清楚的地方,希望能够与大家一起学习交流。此文章仅适合入门小白或者技术爱好者一起交流学习。


认识 werkzeug.security中generate_password_hash,

check_password_hash方法

附上官方的链接地址:Salted Passwords | Flask (A Python Microframework)

官网例子.png

那么使用这样一个第三模块可以达到什么效果呢?请听我慢慢道来,很多初学者在练习写网站或demo的时候,连接数据库后使得前后端可以进行数据的交互,最简单也是必须经历的就是做登录注册这一模块了,用户前端输入注册信息使其保存在服务器或者创建好的数据库中,那么后端是可以在数据库读取到你的信息的,包括你的密码。当然在学习这样一个前后端数据交互流程的时候是没有啥问题的,但是你想想,在实际的应用中,如果别人也可以在后端服务器拿到你的密码,是不是没有一点安全可言啊,那么这里就需要用到上面提到加密技术了,不多说,上图让大家看看效果:


password.png

这里大家可以看到password字段,是一大段字符串,根本不是我们输入的密码,这是怎么做到的,其实就是利用了MD5等加密算法,使得我们输入的私钥经过加密算法生成的一串公钥字符。具体怎么做请看局部代码。


user.png

经过上面的加密后,我们再在登录模块上写上反转的方法,使得我们输入的密码能够与数据库中的公钥匹配,然后成功登录。见下方代码:

login.png

以上就是一个简单的加密过程,是不是在我们即使在练习写简单的demo时也可以用上啊,这只是在前后端数据交互中的一个小小应用,却可以让我们即使是初学者,也可以做到更加专业,通过不断学习和应用,锻炼自己的能力,培养我们的思考能力,怎么可以向实际项目那边靠拢。


因为我也是一个学习者,在此仅分享一点经验和好玩实用的技术;觉得小编的文章对你有所帮助的可以点个关注,往后会继续分享更多实用好玩的东西给大家,谢谢!

你可能感兴趣的:(Python中使用flask框架下的第三方模块对登录密码加密)