шифрование и дешифрование файлов

RAPA

Новичок
Пользователь
Ноя 9, 2022
5
0
1
Есть готовый граф.интерфейс, в него надо внедрить обычный шифратор файлов, самый простой, чтобы зашифровать и разшифровать файл, помогите пожалуйста
Python:
import PySimpleGUI as sg
layout = [
    [sg.Text('File 1'), sg.InputText(), sg.FileBrowse(),
     sg.Checkbox('Soon..'), sg.Checkbox('Soon..')
     ],
    [sg.Output(size=(88, 20))],
    [sg.Submit(), sg.Cancel()]
]
window = sg.Window('File Compare', layout)
while True:                             # The Event Loop
    event, values = window.read()
    # print(event, values) #debug
    if event in (None, 'Exit', 'Cancel'):
        break
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
что вы подразумеваете под понятием "зашифровать и расшифровать" ?
 

RAPA

Новичок
Пользователь
Ноя 9, 2022
5
0
1
что вы подразумеваете под понятием "зашифровать и расшифровать" ?
вот есть код с шифровкой файлов и надо просто его импортировать в программу написанная выше, чтобы можно через мой графический интерефейс выбрать файл и зашифровать его, так же и расшифровать
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
вот есть код с шифровкой файлов и надо просто его импортировать в программу написанная выше, чтобы можно через мой графический интерефейс выбрать файл и зашифровать его, так же и расшифровать
в чем конкретно проблема у вас, по вашей ссылке весь код есть
и не понятно, по каким кнопкам в вашем гуе делать шифрование, расшифровку, зачем там текст ареа...
 
Последнее редактирование:

RAPA

Новичок
Пользователь
Ноя 9, 2022
5
0
1
в чем конкретно проблема у вас, по вашей ссылке весь код есть
и не понятно, по каким кнопкам в вашем гуе делать шифрование, расшифровку, зачем там текст ареа...
InkedDesktop Screenshot 2022.11.09 - 15.39.44.74.jpg
Вот интерфейс, под цифрой 1, пользователь должен выбирать файл который хочет зашифровать(картинка/папка/текст.файл), в кружке под цифрой 2 кнопки "Зашифровать", проблема в том, что я не знаю как код по ссылке выше, совместить с интефейсом
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
Посмотреть вложение 2058
Вот интерфейс, под цифрой 1, пользователь должен выбирать файл который хочет зашифровать(картинка/папка/текст.файл), в кружке под цифрой 2 кнопки "Зашифровать", проблема в том, что я не знаю как код по ссылке выше, совместить с интефейсом
кнопка же отправить, вы где то взяли код гуи и не понимаете как его поменять?
а кнопка расшифровать?
 

RAPA

Новичок
Пользователь
Ноя 9, 2022
5
0
1
кнопка же отправить, вы где то взяли код гуи и не понимаете как его поменять?
а кнопка расшифровать?
я просто не знаю как код с шифровкой подключить к этому гуи, поменять название кнопок не затруднит меня, я просто не могу подключить логику шифрования файлов к этому гуи
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
Python:
import PySimpleGUI as sg
from cryptography.fernet import Fernet


# Создаем ключ и сохраняем его в файл, только первый раз!
# key = Fernet.generate_key()
# with open('crypto.key', 'wb') as key_file:
#     key_file.write(key)


def load_key():
    # Загружаем ключ 'crypto.key' из текущего каталога
    return open('crypto.key', 'rb').read()


def encrypt(filename, key):
    # Зашифруем файл и записываем его
    f = Fernet(key)
    with open(filename, 'rb') as file:
        # прочитать все данные файла
        file_data = file.read()
    # Зашифровать данные
    encrypted_data = f.encrypt(file_data)
    # записать зашифрованный файл
    with open(filename, 'wb') as file:
        file.write(encrypted_data)


def decrypt(filename, key):
    # Расшифруем файл и записываем его
    f = Fernet(key)
    with open(filename, 'rb') as file:
        # читать зашифрованные данные
        encrypted_data = file.read()
    # расшифровать данные
    decrypted_data = f.decrypt(encrypted_data)
    # записать оригинальный файл
    with open(filename, 'wb') as file:
        file.write(decrypted_data)


layout = [
    [sg.Text('File'), sg.InputText(), sg.FileBrowse("Обзор")],
    [sg.Submit("Зашифровать"), sg.Submit("Расшифровать"), sg.Cancel("Выход")]
]
window = sg.Window('File Compare', layout)
while True:
    event, values = window.read()
    if event in (None, "Выход"):
        break
    if event in "Зашифровать":
        encrypt(values[0], load_key())
    if event in "Расшифровать":
        decrypt(values[0], load_key())
 
  • Мне нравится
Реакции: RAPA и Vershitel_sudeb

RAPA

Новичок
Пользователь
Ноя 9, 2022
5
0
1
Python:
import PySimpleGUI as sg
from cryptography.fernet import Fernet


# Создаем ключ и сохраняем его в файл, только первый раз!
# key = Fernet.generate_key()
# with open('crypto.key', 'wb') as key_file:
#     key_file.write(key)


def load_key():
    # Загружаем ключ 'crypto.key' из текущего каталога
    return open('crypto.key', 'rb').read()


def encrypt(filename, key):
    # Зашифруем файл и записываем его
    f = Fernet(key)
    with open(filename, 'rb') as file:
        # прочитать все данные файла
        file_data = file.read()
    # Зашифровать данные
    encrypted_data = f.encrypt(file_data)
    # записать зашифрованный файл
    with open(filename, 'wb') as file:
        file.write(encrypted_data)


def decrypt(filename, key):
    # Расшифруем файл и записываем его
    f = Fernet(key)
    with open(filename, 'rb') as file:
        # читать зашифрованные данные
        encrypted_data = file.read()
    # расшифровать данные
    decrypted_data = f.decrypt(encrypted_data)
    # записать оригинальный файл
    with open(filename, 'wb') as file:
        file.write(decrypted_data)


layout = [
    [sg.Text('File'), sg.InputText(), sg.FileBrowse("Обзор")],
    [sg.Submit("Зашифровать"), sg.Submit("Расшифровать"), sg.Cancel("Выход")]
]
window = sg.Window('File Compare', layout)
while True:
    event, values = window.read()
    if event in (None, "Выход"):
        break
    if event in "Зашифровать":
        encrypt(values[0], load_key())
    if event in "Расшифровать":
        decrypt(values[0], load_key())
я хотел зашифровать текстовый файл, и вылазит ошибка
Код:
line 52, in <module>
    encrypt(values[0], load_key())
                       ^^^^^^^^^^
 line 13, in load_key
    return open('crypto.key', 'rb').read()
           ^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'crypto.key'
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
я хотел зашифровать текстовый файл, и вылазит ошибка
Код:
line 52, in <module>
    encrypt(values[0], load_key())
                       ^^^^^^^^^^
 line 13, in load_key
    return open('crypto.key', 'rb').read()
           ^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'crypto.key'
а вы код читали? комментарии в коде? или статью которую скинули?
если нет то тут мои полномочия и все...
 

Форум IT Специалистов