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模块写登录接口的主要内容,如果未能解决你的问题,请参考以下文章

python基础六--加密模块hashlib

python - 常用模块 - hashlib模块

python: hashlib 加密模块

Python——hashlib(加密模块)

hashlib加密模块_python

加密模块 hashlib | Python