Здравствуйте, хотел попробовать написать функцию, которая шифрует файл.... Но не без ошибок:( Имеется файл main.py, в нём записано следующие:
import rsa
( public, private ) = rsa.newkeys(512)
name = input("Enter filename: ")
file = open(name, "rb")
r = file.read() #считываю данные,что бы зашифровать
file.close()
crypt = rsa.encrypt(r, public )
file = open(name, "wb")
file.write(crypt)
file.close()
file = open("public.txt", "w")
file.write(str(public))
file.close()
file = open("private.txt", "w")
file.write(str(private))
file.close()
Файл успешно зашифровался, а как написать дешифратор ? Учитывая что ключи сохранены по отдельным файлам.
Пробовал написать сам, вот сам код:
Файл дешифратора назвал decrypt.py
import rsa
name = input("Enter filename: ")
key = input("Enter key: ")
file = open(name, "rb")
r = file.read()
file.close()
file2 = open(key, "rb")
r2 = file2.read()
file2.close()
msg = rsa.decypt(r, r2)
file3 = open(name, "w")
file3.write(str(msg))
file3.close()
Но выходит такая ошибка:
Enter filename: text.txt
Enter key: private.txt
Trace back ( most recent call last ):
File "C:\Users\root\Desktop\Main\Python\decrypt.py",
line 14, in <module>
msg = rsa.decrypt(r, r2 )
File "C:\Users\root\AppData\Local\Programs\Python\Python37-32\lib\site-packages\rsa\pkcs1.py", line 247, in decrypt
block size = common.byte_size(priv_key.n)
AttributeError: 'str' object has no attribute 'n'