首页 > 其他分享 >验证客户端的合法性

验证客户端的合法性

时间:2022-12-03 22:45:51浏览次数:37  
标签:合法性 obj socket seq 验证 tcp key 客户端 md5

服务端server.py

import os
import socket
import hashlib


def get_md5(key, seq):
    md5_obj = hashlib.md5(key)
    md5_obj.update(seq)
    res = md5_obj.hexdigest()
    return res


tcp_server = socket.socket()
tcp_server.bind(("127.0.0.1", 5060))
tcp_server.listen()

secret_key = b'saiya6'
rand_seq = os.urandom(32)
md5code = get_md5(secret_key, rand_seq)

conn, addr = tcp_server.accept()
conn.send(rand_seq)

ret = conn.recv(32).decode('utf-8')

if ret == md5code:
    print("合法客户端")
else:
    print("非法客户端")

conn.close()
tcp_server.close()

客户端client.py

import socket
import hashlib


def get_md5(key, seq):
    md5_obj = hashlib.md5(key)
    md5_obj.update(seq)
    res = md5_obj.hexdigest()
    return res


tcp_client = socket.socket()
tcp_client.connect(('127.0.0.1', 5060))

secret_key = b'saiya6'
rand_seq = tcp_client.recv(32)
md5code = get_md5(secret_key, rand_seq)
tcp_client.send(md5code.encode('utf-8'))

tcp_client.close()

标签:合法性,obj,socket,seq,验证,tcp,key,客户端,md5
From: https://www.cnblogs.com/saiya6/p/16948944.html

相关文章

  • arco design vue 表单自定义验证
    不知道为啥,官方文档里竟然没写...直接上代码template里<a-form-itemfield="repeatPassword":rules="[{validator:validateRepeatPassword,trigger:'change'}]"......
  • c# 抽象类+特性 验证QQ,Mobile,Name的通用写法
     1.调用boolbResult=ValidateAttributeExtension.Validate<StudentVip>(vip); 2.特性的额外方法:验证功能:publicclassValidateAttributeExtension{......
  • 验证码插件EasyCaptcha
    1.添加maven依赖<dependency><groupId>com.github.whvcse</groupId><artifactId>easy-captcha</artifactId><version>1.6.2</version></depen......
  • SQLyog-Ultimate客户端软件下载
    关注微信公众号【工控羊】或者微信号【gksheep】,微信公众号后台输入数字编号【0016】即可获取下载链接。......
  • SQLyog客户端软件下载
    关注微信公众号【工控羊】或者微信号【gksheep】,微信公众号后台输入数字编号【0018】即可获取下载链接。......
  • ORA-28040: 没有匹配的验证协议
    问题:ORA-28040:没有匹配的验证协议原因:Oracle数据库安装的是12.2版本,OracleClient安装的版本是11(ODTwithODAC1120320_32bit)。解决:打开 sqlnet.ora 文件,增加以下两行......
  • Logstash grok 正则在线调试-待验证
     在线工具http://grok.51vagaa.com/https://www.5axxw.com/tools/v2/grok.html 自建工具mkdir/opt/grokdebuggertee/opt/grokdebugger/dockerfile<<"EOF"ve......
  • ASP.NET Core SignalR .NET 客户端
    项目2022/11/2913个参与者反馈通过ASP.NETCoreSignalR.NET客户端库可以从.NET应用与SignalR中心进行通信。查看或下载示例代码(如何下载)本文......
  • 小程序支付前端报requestPayment:fail:支付验证签名失败
    重要的事情说三遍:二次签名时key使用驼峰重要的事情说三遍:二次签名时key使用驼峰重要的事情说三遍:二次签名时key使用驼峰真的头大,直接把微信APP支付的代码给干过来了,结果签名......
  • shiro源码第一天:登陆验证部分
    登陆验证部分:​​1.单点登陆系统中不同系统密码验证方式不一样​​1.单点登陆系统中不同系统密码验证方式不一样问题:当使用shiro作为鉴权框架时,首先用到的应该就是登陆认证......