這篇文章主要講解了Python如何實現簡單的客戶端認證,內容清晰明了,對此有興趣的小伙伴可以學習一下,相信大家閱讀完之后會有幫助。
創(chuàng)新互聯建站主要業(yè)務有網站營銷策劃、成都做網站、成都網站制作、微信公眾號開發(fā)、小程序制作、H5開發(fā)、程序開發(fā)等業(yè)務。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務的過程中,公司還積累了豐富的行業(yè)經驗、營銷型網站建設資源和合作伙伴關系資源,并逐漸建立起規(guī)范的客戶服務和保障體系。問題
你想在分布式系統(tǒng)中實現一個簡單的客戶端連接認證功能,又不想像SSL那樣的復雜。
解決方案
可以利用 hmac 模塊實現一個連接握手,從而實現一個簡單而高效的認證過程。下面是代碼示例:
import hmac import os def client_authenticate(connection, secret_key): ''' Authenticate client to a remote service. connection represents a network connection. secret_key is a key known only to both client/server. ''' message = connection.recv(32) hash = hmac.new(secret_key, message) digest = hash.digest() connection.send(digest) def server_authenticate(connection, secret_key): ''' Request client authentication. ''' message = os.urandom(32) connection.send(message) hash = hmac.new(secret_key, message) digest = hash.digest() response = connection.recv(len(digest)) return hmac.compare_digest(digest,response)