Arhn - архитектура программирования

Чтение данных рассола python перед записью в файл

Предыстория:

Привет. В настоящее время я работаю над проектом, который в основном использует Pickles для сохранения состояния объектов, которые у меня есть. Вот фрагмент кода двух функций, которые я написал:

from Kiosk import *                         #The main class used for the lockers
import gc                                   #Garbage Collector library. Used to get all instances of a class
import pickle                               #Library used to store variables in files.

def storeData(Lockers:Locker):
    with open('lockerData', 'wb') as File:
        pickle.dump(Lockers, File)

def readData():
    with open('lockerData', 'rb') as File:
        return pickle.load(File)

Эти данные рассола в конечном итоге будут отправлены и получены с сервера с использованием библиотеки сокетов.

Я кое-что прочитал на тему Pickles, и кажется, что все согласны с тем, что в некоторых случаях использование pickles может быть довольно опасным, поскольку их относительно легко заставить выполнять нежелательный код.

Цель:

По вышеупомянутым причинам я хочу зашифровать свои данные рассола в AES перед записью их в файл рассола, таким образом, файл рассола всегда шифруется, даже когда он отправляется и принимается с сервера. Моя главная проблема сейчас в том, что я не знаю, как получить данные рассола, не записывая их сначала в файл рассола. pickle.dump() позволяет мне только записывать данные рассола в файл, но не позволяет мне сразу получить эти данные рассола.

Если я решу выполнить шифрование после того, как данные рассола уже были записаны в файл, это будет означать, что будет период времени, когда данные рассола будут храниться в виде обычного текста, и я не хочу, чтобы это произошло.

Псевдокод:

Вот как я ожидаю выполнения задачи:

PickleData = createPicle(Lockers)
PickleDataE = encrypt(PickleData)

with open('textfile.txt', 'wb') as File:
     File.write(PickleDataE) 

Вопрос:

Итак, мой вопрос: как я могу получить данные о рассоле, не записывая их в файл?

25.11.2019

  • проверьте pickle.dumps для записи в байтовый объект, а не чем файл 25.11.2019

Ответы:


1

Вы можете сохранить данные рассола в файл как сами зашифрованные данные. Когда вы читаете зашифрованные данные, вы расшифровываете их в переменную. Если вы поместите эту переменную в объект io.StringIO, вы сможете прочитать ее точно так же, как из файла, за исключением того, что она сейчас находится в памяти. ЕСЛИ вы попробуете это, я уверен, что будущие вопросы могут помочь в том, как читать расшифрованные данные, как если бы это были данные рассола.

25.11.2019
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..