验证用户的合法性

# server
import os
import socket
import hashlib
SECRET_KEY = b'alexbigsb'

def check_client(conn):
randbytes = os.urandom(32)
conn.send(randbytes)

md5 = hashlib.md5(SECRET_KEY)
md5.update(randbytes)
code = md5.hexdigest()
code_cli = conn.recv(32).decode('utf-8')
return code == code_cli

sk = socket.socket()
sk.bind(('127.0.0.1', 9001))
sk.listen()

while True:
conn, addr = sk.accept()
if not check_client(conn):
print('错误连接申请!')
continue
print('进程正常的通信了')


# client

import socket
import hashlib
SECRET_KEY = b'alexbigsb'

def check_client():
randbytes = sk.recv(32)
md5 = hashlib.md5(SECRET_KEY)

md5.update(randbytes)
code = md5.hexdigest().encode('utf-8')
sk.send(code)

sk = socket.socket()
sk.connect(('127.0.0.1', 9001))
check_client()

sk.send(b'1230')

原文地址:https://www.cnblogs.com/xuyuwei/p/11536661.html