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