HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Криптография, расшифровка хешей
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 19.10.2025, 14:32
guidesoul
Новичок
Регистрация: 26.07.2025
Сообщений: 0
С нами: 423479

Репутация: 0
По умолчанию

Оптимизация работы с оперативной памятью

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

Как было

При шифровании больших объектов (например, папки размером 100 МБ), процесс создавал в памяти несколько полных копий данных, которые существовали одновременно.

Архивация в RAM (Копия 1):
Программа считывала папку и создавала в памяти ZIP-архив размером ~100 МБ.

Сжатие (Копия 2):
Создавалась сжатая версия архива, например, ~70 МБ.
При этом исходный архив (Копия 1) оставался в памяти.

100 МБ (Копия 1) + 70 МБ (Копия 2) = ~170 МБ

Шифрование (Копия 3):
Сжатые данные шифровались, создавая еще одну копию в ~70 МБ.
Копии 1 и 2 все еще находились в RAM.

100 МБ + 70 МБ + 70 МБ = ~240 МБ

Формирование итогового пакета (Копия 4):
Зашифрованные данные со служебной информацией упаковывались в финальный пакет.

Пиковое потребление RAM: > 300 МБ

Нагрузка на оперативную память могла в 3-4 раза превышать размер исходного файла.
Кроме того, незашифрованные данные оставались в памяти дольше, чем это было необходимо.

Стало

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

Архивация в RAM (Копия 1):
Создается ZIP-архив на ~100 МБ.

Сжатие (Копия 2):
Программа вызывает функцию сжатия, которая принимает Копию 1 (~100 МБ) и создает Копию 2 (~70 МБ).
В этот переходный момент в памяти находятся обе копии.

Пиковое потребление RAM: ~100 МБ (Копия 1) + ~70 МБ (Копия 2) = ~170 МБ.

Сразу после успешного создания Копии 2, Копия 1 безопасно очищается.
Итоговое потребление после этого шага: ~70 МБ.

Шифрование (Копия 3):
Функция шифрования берет Копию 2 (~70 МБ) и создает зашифрованную Копию 3 (также ~70 МБ).
В этот переходный момент в памяти находятся обе копии.

Пиковое потребление RAM: ~70 МБ (Копия 2) + ~70 МБ (Копия 3) = ~140 МБ.
Сразу после успешного создания Копии 3, Копия 2 безопасно очищается.
Итоговое потребление после этого шага: ~70 МБ.

Формирование итогового пакета (Копия 4):
Программа создает финальный пакет (Копия 4) и копирует в него зашифрованные данные из Копии 3 (~70 МБ) вместе со служебной информацией.
Пик в этот момент: ~70 МБ (Копия 3) + ~70 МБ (Копия 4) = ~140 МБ.
Сразу после этого Копия 3 очищается.

Итоговое потребление: ~70 МБ (только финальный пакет).

Важное примечание

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

Если объем свободной оперативной памяти недостаточен, операция будет прервана с ошибкой нехватки памяти (bad_alloc).

Скачать можно в облаке
disk.yandex.ru/d/pSxwq7mMhKsOwg
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...