1. 程式人生 > >03 驗證合法性連接的客戶端

03 驗證合法性連接的客戶端

digest true big 客戶 return 服務 ket pri dal

from socket import *
import hmac,os

secret_key=bJedan has a big key!
def conn_auth(conn):
    ‘‘‘
    驗證客戶端到服務器的鏈接
    :param conn:
    :return:
    ‘‘‘
    msg=conn.recv(32)
    h=hmac.new(secret_key,msg)
    digest=h.digest()
    conn.sendall(digest)

def client_handler(ip_port,bufsize=1024):
    tcp_socket_client
=socket(AF_INET,SOCK_STREAM) tcp_socket_client.connect(ip_port) conn_auth(tcp_socket_client) while True: data=input(>>: ).strip() if not data:continue if data == quit:break tcp_socket_client.sendall(data.encode(utf-8)) respone=tcp_socket_client.recv(bufsize) print(respone.decode(
utf-8)) tcp_socket_client.close() if __name__ == __main__: ip_port=(127.0.0.1,9999) bufsize=1024 client_handler(ip_port,bufsize)

03 驗證合法性連接的客戶端