接收方接收不了文件

main
ps5antq2e 2 months ago
parent 5844612b05
commit 40a6be9dbd

@ -26,6 +26,7 @@ from PyQt5.QtWidgets import QMessageBox,QFileDialog
import rsa
#import sm2random
from OpenSSL import crypto
import pickle
class Ui_MainWindow(object):
def setupUi(self, MainWindow,receiver):
MainWindow.setObjectName("MainWindow")
@ -72,7 +73,6 @@ class Ui_MainWindow(object):
self.enc_key = ""
#继承连接实例
self.receiver = receiver
#打开文件选择对话框
QMessageBox.information(MainWindow, "提示", "请选择你的私钥文件")
path=QFileDialog.getOpenFileName()[0]
@ -107,12 +107,15 @@ class Ui_MainWindow(object):
data = b""
while True:
sender_socket,addr = self.receiver.accept()
envelope_dict = sender_socket.recv(1024)
if not envelope_dict:
break
data += envelope_dict
print(data.decode())
envelope_dict = json.loads(data.decode('utf-8'))
while True:
envelope_dict = sender_socket.recv(1024)
if not envelope_dict:
break
data += envelope_dict
break
#将字节流转换为字典
print(data)
envelope_dict = pickle.loads(data)
self.signature= envelope_dict['signature']
self.encrypted_text = envelope_dict['encrypted_text']
self.enc_key = envelope_dict['enc_key']
@ -122,7 +125,7 @@ class Ui_MainWindow(object):
self.iv= envelope_dict['iv']
self.decrypt_key()
self.decrypt()
self.client.close()
self.receiver.close()
def decrypt_key(self):
#使用rsa私钥解密对称密钥self.enc_key,赋给self.key
self.key = rsa.decrypt(self.enc_key, self.private_key)
@ -132,8 +135,6 @@ class Ui_MainWindow(object):
# self.mode = self.mode_box.currentText()
self.algorithm = "AES"
self.mode = "CBC"
with open("aeskey.txt",'rb') as f:
self.key = "1234567890abcdef".encode("utf-8")
if self.algorithm=="AES":
if self.mode=="CBC":
self.mode = AES.MODE_CBC
@ -143,7 +144,7 @@ class Ui_MainWindow(object):
cryptor = AES.new(self.key, self.mode, self.key)
self.plain_text = cryptor.decrypt(a2b_hex(self.encrypted_text))
#print(plain_text)
plaintext = b2a_hex(plain_text.rstrip(b'\0')).decode("utf-8")
plaintext = b2a_hex(self.plain_text.rstrip(b'\0')).decode("utf-8")
self.textBrowser.append(plaintext)
elif self.mode=="ECB":

Loading…
Cancel
Save