Python:hashlib加密模組,flask模組寫登入介面

來源:互聯網
上載者:User

標籤: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模組寫登入介面

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.