Python:hashlib加密模块,flask模块写登录接口
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python:hashlib加密模块,flask模块写登录接口相关的知识,希望对你有一定的参考价值。
hashlib模块
主要用于加密相关的操作,(比如说加密字符串)在python3的版本里,代替了md5和sha模块,主要提供 sha1, sha224, sha256, sha384, sha512 ,md5 这些加密方式
import hashlib
m = hashlib.md5() #用md5加密的方式(md5加密后无法解密),创建一个md5的对象
m.update(b"Hello") #b代表二进制字节bytes,把字符串hello转成字节,然后加密;用b给一个变量转换的方式,待查
m.update(bytes(‘hello‘,encoding=‘utf-8‘)) #与上面结果一样,只是换成bytes函数,要加上encoding=‘utf-8‘
print(m.digest()) #2进制格式的加密后的字符串
print(len(m.hexdigest())) #16进制格式的加密后的字符串
PS:不同的加密方式,用法都同上,把md5换一下就行,下面以sha1为例:
# ######## sha1 加密方式########
hash = hashlib.sha1()
hash.update(‘admin‘)
print(hash.hexdigest())
flask模块 :
是一个web框架,可以开发接口
下面写一个登录的接口,登录需要url username passwd
import flask
from flask import request,jsonify #引入请求,用来请求数据;引入json
server=flask.Flask(__name__) #创建一个服务,把当前这个python文件当做一个服务
user=’admin’
p=’houning123’
server.config[“JSON_AS_ASCII”]=False #这句话是使返回值的汉字在浏览器里显示正常
@server.route(‘/login‘,methods=[‘get‘]) #flask自带的装饰器,这一步是把普通函数变成一个服务,括号里是路径和获取方法
def login():
username=request.values.get(‘username’) #指获取到传的key:“username”的值,把值赋给左边的username
passwd=request.values.get(‘passwd’)
if username and passwd: #判断用户名密码是否为空
if username==user and passwd==p:
res={“code”:1000,”msg”:”登录成功”}
else:
res={“code”:2000,”msg”:”账户或密码错误”}
return jsonify(res)
else:
return jsonify({“code”:1999,”msg”:”必填参数未填”}) #把字典转化成json串格式
server.run(debug=True) #启动服务,debug=True是指调试模式,如果改代码,服务就会自动重启
以上是关于Python:hashlib加密模块,flask模块写登录接口的主要内容,如果未能解决你的问题,请参考以下文章