1. 程式人生 > >Python:hashlib加密模塊,flask模塊寫登錄接口

Python:hashlib加密模塊,flask模塊寫登錄接口

字符 是把 需要 顯示 pytho ascii 文件 json 是否

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模塊寫登錄接口