您的位置:首页 > 其它

Socket服务端与客户端加密通信

2018-02-20 14:55 309 查看
客户端:# -*- coding: utf-8 -*-# @Time : 2018/2/19 14:15# @Author : Xifeng2009import socketimport timefrom Crypto.Cipher import AES# s_host = '192.168.100.111's_host = '127.0.0.1's_port = 1337c_host = '127.0.0.1'c_port = 1338timeout = 300def cmdRECVer():command = c.recv(4096)print commandcypher = AES.new('keykey0123456789', AES.MODE_CFB, 'vivivi0123456789')command = cypher.decrypt(command)print "Decrypting Complete..."print commandc.close()while True:c = socket.socket(socket.AF_INET, socket.SOCK_STREAM)c.bind((c_host, c_port))try:c.connect((s_host, s_port))print "Connect...Success...%s: %s" % (s_host, s_port)except:print "Connect...Failed..."time.sleep(timeout)continuetry:cmdRECVer()except socket.error as err:print err
服务端:# -*- coding: utf-8 -*-# @Time    : 2018/2/19 15:47# @Author  : Xifeng2009import socketfrom Crypto.Cipher import AESs = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.bind(('127.0.0.1', 1337))s.listen(5)def command_sender(msg, client):# msg must be 16 bytescypher = AES.new('keykey0123456789', AES.MODE_CFB, 'vivivi0123456789')cypher = cypher.encrypt(msg)client.send(cypher)client.close()while True:print "Start Listening..."client, addr = s.accept()print "Requst from: %s: %s" % (addr[0], addr[1])# SENDprint ">>>",msg = raw_input()command_sender(msg, client)
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: