码迷,mamicode.com
首页 > 其他好文 > 详细

认证客户端连接合法性

时间:2020-03-25 18:51:23      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:cep   return   compare   rom   dig   size   ges   pre   try   

服务端代码:

 1 from socket import *
 2 import os, hmac
 3 
 4 secret_key = bhello world
 5 
 6 
 7 def coon_handle(coon):
 8     ‘‘‘判断是否为合法客户端‘‘‘
 9     num = os.urandom(32)
10     coon.sendall(num)
11     h = hmac.new(secret_key, num, digestmod=md5)
12     digest = h.digest()
13     data = coon.recv(len(digest))
14     return hmac.compare_digest(digest, data)
15 
16 
17 def data_job(coon):
18     while True:
19         data = coon.recv(1024)
20         print(data.decode())
21         coon.sendall(data.upper())
22 
23 
24 def data_handle(ip_port, buffer_size):
25     tcp_server = socket(AF_INET, SOCK_STREAM)
26     tcp_server.bind(ip_port)
27     tcp_server.listen(buffer_size)
28     while True:
29         coon, addr = tcp_server.accept()
30         print(开始验证新连接的合法性)
31         try:
32             if coon_handle(coon):
33                 print(合法接入)
34                 data_job(coon)
35             else:
36                 print(非法接入)
37                 coon.close()
38                 continue
39         except Exception as f:
40             print(f)
41             continue
42 
43 
44 if __name__ == __main__:
45     ip_port = ((127.0.0.1, 8080))
46     buffer_size = 1024
47     data_handle(ip_port, buffer_size)

服务端代码:

 1 from socket import *
 2 import hmac
 3 
 4 secret_key = bhello world
 5 tcp_client = socket(AF_INET, SOCK_STREAM)
 6 tcp_client.connect((127.0.0.1, 8080))
 7 print(连接服务器成功,正在验证。。。。)
 8 msg = tcp_client.recv(1024)
 9 h = hmac.new(secret_key, msg, digestmod=md5)
10 tcp_client.sendall(h.digest())
11 while True:
12     ms = input(亲输入信息)
13     tcp_client.sendall(ms.encode())
14     data = tcp_client.recv(1024)
15     print(data.decode())

 

认证客户端连接合法性

标签:cep   return   compare   rom   dig   size   ges   pre   try   

原文地址:https://www.cnblogs.com/ch2020/p/12567820.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!