tcp -- 登录验证

# 服务器
import socket
import hashlib
import json

sk = socket.socket()

sk.bind(("127.0.0.1",8081))
sk.listen()

def check_pwd(usr,pwd): hs = hashlib.md5(usr.encode()) hs.update(pwd.encode()) res = hs.hexdigest() return res while True: conn,addr = sk.accept() msg = conn.recv(1024).decode() dic = json.loads(msg) # 客户端发送的账号密码 32位的十六进制字符串 res = check_pwd(dic["username"],dic["password"]) sign = False with open("pwd.txt",mode="r",encoding="utf-8") as fp: for i in fp: usr,pwd = i.strip().split(":") if usr == dic["username"] and pwd == res: conn.send("1".encode()) sign = True break if not sign: conn.send("0".encode()) break conn.close() sk.close()
# 客户端
import hashlib
import json
import socket

sk = socket.socket()
sk.connect(("127.0.0.1",8081))

usr = input("输入账号:") pwd = input("输入密码:") dic = {"username":usr,"password":pwd,"operate":"login"} res = json.dumps(dic).encode() sk.send(res) sign = sk.recv(1024).decode() if sign == "1": print("登录成功!") else: print("登录失败!") sk.close()

猜你喜欢

转载自www.cnblogs.com/weige007/p/11870959.html
tcp