最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python hmac模塊驗證客戶端的合法性

 更新時間:2020年11月07日 15:16:53   作者:手可摘星辰。  
這篇文章主要介紹了python hmac模塊驗證客戶端的合法性,幫助大家更好的理解和使用python,感興趣的朋友可以了解下

hmac模塊:

  比較兩個函數(shù)的密鑰是否一致:

import hmac
import os

msg = os.urandom(32)   #生成32位隨機字節(jié)碼

def wdc():
  key = b'wdc'  #密鑰
  ret = hmac.new(key,msg)   #將字節(jié)碼和key進(jìn)行加密(必須都為bytes類型)創(chuàng)建一個對象ret
  digest = ret.digest()  #消化
  return digest  #返回消耗后的密文

def yhf():
  key1 = b'wdc'  #密鑰
  ret1 = hmac.new(key1,msg)  #將字節(jié)碼和key1進(jìn)行加密(必須都為bytes類型)創(chuàng)建一個對象ret1
  digest1 = ret1.digest()   #消化
  return digest1 #返回消耗后的密文

wdc = wdc()
yhf = yhf()
result = hmac.compare_digest(wdc,yhf)  #比較兩個密文是否一致,返回Fales/True
print(result)  #輸出結(jié)果

驗證客戶端合法性:

  服務(wù)端:

import os
import hmac
import socket
secret_key = b'wdc'   #密鑰:必須為二進(jìn)制編碼
sk = socket.socket()
sk.bind(('127.0.0.1',8080))
sk.listen()

def check_conn(conn):
  msg = os.urandom(32)  #生成一個32位bytes類型隨機碼
  conn.send(msg) #發(fā)送一個32位的隨機字節(jié)碼
  h = hmac.new(secret_key,msg)   #將密鑰和生成的隨機字節(jié)碼匹配加密生成一個對象
  digest = h.digest()   #消化生成密文
  client_digest = conn.recv(1024)   #接收消息(客戶端生成的密文)
  return hmac.compare_digest(digest,client_digest)  #比較服務(wù)端和接收的客戶端的密文是否一致

conn,addr = sk.accept()
res = check_conn(conn)
if res:
  print('合法的客戶端')
  conn.close()
else:
  print('不合法的客戶端')
  conn.close()

sk.close()

  客戶端:

import hmac
import socket
secret_key = b'wdc'   #密鑰:必須為二進(jìn)制編碼
sk = socket.socket()
sk.connect(('127.0.0.1',8080))
msg = sk.recv(1024)   #接收信息(接收生成的32位字節(jié)碼)
h = hmac.new(secret_key,msg)  #將密鑰和生成的隨機字節(jié)碼匹配加密生成一個對象
digest = h.digest()   #消化生成密文
sk.send(digest)   #發(fā)送生成的密文

sk.close()

以上就是python hmac模塊驗證客戶端的合法性的詳細(xì)內(nèi)容,更多關(guān)于python hmac模塊的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

闻喜县| 霞浦县| 荣昌县| 化州市| 宜兰市| 万荣县| 达拉特旗| 平远县| 海南省| 普宁市| 宁陵县| 张北县| 宁陕县| 宜良县| 扶绥县| 新巴尔虎左旗| 滦平县| 融水| 宝鸡市| 菏泽市| 和田市| 东山县| 盐城市| 遂溪县| 南溪县| 佛学| 仙居县| 舟曲县| 定南县| 壤塘县| 巩留县| 南通市| 黄石市| 西华县| 灵川县| 铜山县| 浏阳市| 襄汾县| 江西省| 新蔡县| 梁河县|