python tcp socket 并发_用tcp协议实现一个并发的socketserver 进行密文登录

先在客户端进行摘要,客户端把用户名作为盐。

然后在服务端进行二次摘要,用固定的盐(不能让别人知道你的盐是什么),然后存到文件中,密文存储。或者和文件中的密文对比。

这样即使在网络上用户信息被截获,和存在服务端文件中的用户密码密文也不同。

如果只能摘要一次(加密一次),就在服务端进行摘要。在客户端摘要,和明文一样,别人都能知道你的盐是什么。

用到的知识点:网络编程,socketserver模块,hashlib模块对密码进行加密,struct模块解决黏包问题

#userinfo文件

zhangsan|5701564ecae32e15698e774d993d6b2306028de0

lisi|099841fab9a5d7ef090eb725059b9b656efe25e5

#服务端代码:

import struct

import socketserver

import hashlib

class myserver(socketserver.baserequesthandler):

def handle(self):

conn = self.request

salt = '加盐了'.encode('utf-8')#在服务端设置固定的盐

while true:

try:

len = conn.recv(4)

name_len = struct.unpack('i',len)[0]

name = conn.recv(name_len).decode('utf-8')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值