Я хочу отправить файл с помощью простой программы для сокетов на python.
Получатель:
import socket
import sys
from cryptography.fernet import Fernet
s = socket.socket()
s.bind(("0.0.0.0",9999))
s.listen(10)
i = 1
while True:
sc, address = s.accept()
print(address)
f = open('file_'+ str(i),'wb')
i=i+1
fi = Fernet(b'RkmYkE0W0oirK7e-aq7cfRGaq0nnn_GSvLIbLZHfpfw=sssdsdds')
while (True):
l = fi.decrypt(sc.recv(1024))
f.write(l)
if not l:
break
f.close()
sc.close()
print('copied the file.')
отправитель:
from cryptography.fernet import Fernet
message = "my deep dark secret".encode()
#key = Fernet.generate_key()
fi = Fernet(b'RkmYkE0W0oirK7e-aq7cfRGaq0nnn_GSvLIbLZHfpfw=sssdsdds')
encrypted = fi.encrypt(message)
#print(key)
print(encrypted)
decrypted = fi.decrypt(encrypted)
print(decrypted.decode("utf-8"))
s = socket.socket()
s.connect(("192.168.1.141", 9999))
f = open("l.pdf", "rb")
l = fi.encrypt(f.read(1024))
while (l):
s.send(l)
l = f.read(1024)
s.close()
но я столкнулся с этимошибка:
cryptography.fernet.InvalidToken
raise Invalid Signature("Signature did not match digest.")
Что мне нужно сделать, чтобы расшифровать мой файл? Я проверил эту передачу в файле PDF.