码迷,mamicode.com
首页 > 编程语言 > 详细

Python:hashlib加密模块,flask模块写登录接口

时间:2017-09-20 10:26:31      阅读:329      评论:0      收藏:0      [点我收藏+]

标签:port   获取   get   enc   def   hex   server   use   odi   

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模块写登录接口

标签:port   获取   get   enc   def   hex   server   use   odi   

原文地址:http://www.cnblogs.com/hesperid/p/7556024.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!