資源簡介
【python】SOCKET實現DES加密的全雙工聊天程序,其中使用了pickle模塊進行了封裝
代碼片段和文件信息
import?rsa
import?socket
import?threading
import?pickle
PORT?=?4396
BUFF?=?1024
def?RsaEncrypt(str):
????(PubKey?PrivateKey)?=?rsa.newkeys(512)
????content?=?str.encode(‘utf8‘)
????Encrypt_Str?=?rsa.encrypt(content?PubKey)
????return?(Encrypt_Str?PrivateKey)
def?RsaDecrypt(str?pk):
????Decrypt_Str?=?rsa.decrypt(str?pk)
????Decrypt_Str_1?=?Decrypt_Str.decode(‘utf8‘)
????return?Decrypt_Str_1
def?SendMessage(Sock?test):
????while?True:
????????SendData?=?input()
????????(encryptdata?PrivateKey)?=?RsaEncrypt(SendData)
????????print(‘encrypted?data?is?‘?+?str(encryptdata))
????????Message?=?pickle.dumps([encryptdata?PrivateKey])
????????if?len(SendData)?>?0:
????????????Sock.send(Message)
def?RecvMessage(Sock?test):
????while?True:
????????Message?=?Sock.recv(BUFF)
????????(recvdata?PrivateKey)?=?pickle.loads(Message)
????????decryptdata?=?RsaDecrypt(recvdata?PrivateKey)
????????if?len(Message)>0:
????????????print(“receive?message:“?+?decryptdata)
def?main():
????type?=?input(‘please?input?server?or?client:‘)
????if?type?==?‘server‘
評論
共有 條評論