python基础(day33)

一、检测客户端合法性(hmac模块)

# server
import socket
import hmac
import os
secret_key = b'egg' #不可变的,并且是可配置的。
sk = socket.socket()
sk.bind(('127.0.0.1',8090))
sk.listen()
def check_conn(conn):
    msg = os.urandom(32)
    conn.send(msg)
    h = hmac.new(secret_key,msg)
    digest = h.digest()
    client_digest = conn.recv(1024)
    return hmac.compare_digest(digest,client_digest)
conn,addr = sk.accept()
res = check_conn(conn)
if res:
    print('合法的客户端')
    conn.close()
else:
    print('不合法的客户端')
    conn.close()


# client import socket import hmac secret_key = b'egg' sk = socket.socket() sk.connect(('127.0.0.1',8090)) msg = sk.recv(1024) h = hmac.new(secret_key,msg) digest = h.digest() sk.send(digest) sk.close()

二、socketserver模块。

猜你喜欢

转载自www.cnblogs.com/qukouxiaoxue/p/10150146.html
今日推荐