python学习笔记(50) hmac验证客户端合法性

SEVER:

import os
import socket
import hmac
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)
digest_recv = conn.recv(1024)
h = hmac.new(secret_key,msg)
digest = h.digest()
return hmac.compare_digest(digest,digest_recv)


conn,addr = sk.accept()
res = check_conn(conn)

if res:
print('合法的客户端')
conn.close()
else:
print('不合法的客户端')
conn.close()

sk.close()

CLIENT:

import socket
import hmac
sk = socket.socket()
secret_key = b'egg'
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()

猜你喜欢

转载自www.cnblogs.com/farion/p/9950790.html