BedvitXLL.XLLcmdRangeStore

Часть библиотеки BedvitXLL
Использованы исходники Crypto++

 

Шифрование данных алгоритмами AES на листе Excel, шифрования файла пользовательских сохранений, хранение зашифрованных диапазонов формул/значений с листа Excel в файле пользовательских сохранений.

 

Алгоритмы шифрования AES:

    1 - "Без шифрования"
    2 - "AES256:ECB"
    3 - "AES256:CBC"
    4 - "AES256:OFB"
    5 - "AES256:CFB"
    6 - "AES256:CBC-CTS"
    7 - "AES256:CTR"

 

Функционал:
+ Можно шифровать как отдельные значения так и диапазоны/массивы.

+ Шифровать можно на листе, шифровать можно сохраняемые диапазоны и шифровать можно и файл пользовательских сохранений.

+ Шифровать данные можно прям на листе Excel, с дальнейшей расшифровкой нужного диапазона или всего листа в виде значений (value2), так и в виде формул (formula).
+ Зашифрованные данные можно хранить в XLL как в виде значений (value2), так и в виде формул (formula). Формула может содержать максимум 8 тыс. символов
+ Пароль нигде не хранится, его знает только пользователь и при утере, расшифровать данные не получится никому 

+ Тип данных и алгоритм шифрования запоминается при зашифровки, и их нужно указывать только при шифровании. При расшифровки нужен только 1 пароль (повтор пароля нужен только для шифрования, для расшифровки достаточно одного-первого)
+ Зашифрованные диапазоны - независимые, т.е. можно каждый отдельный диапазон зашифровать со своим паролем, можно зашифровать диапазон дважды (для гиков)

+ Реализовано автоматическое распознавание разных блоков зашифрованных диапазонов, с разными алгоритмами и их расшифровка разом (см. видео), но должен быть одинаковый пароль для случаев пакетной распаковки (сразу всего листа)
+ Для данных у которых упаковка будет экономить размер итоговой зашифрованной строки (для массивов и длинных строк)  - используется алгоритм сжатия WinAPI:XPRESS_HUFF
+ Реализован механизм (shared string table), как и в Excel, для оптимизации размера одинаковых строк (для массивов), см. особенности ниже.
+ Данные на листе Excel шифруются для каждой ячейки отдельно (для возможности хранить и расшифровывать данные независимо для каждой ячейки)
+ Итоговый результат шифрования (любого типа данных: строки, числа, ошибки и т.д.) - хранится в виде строки (массива зашифрованных байт).

+ Для каждой команды есть всплывающие подсказки

 

 

Особенности:

+ Сохранять диапазон в списке диапазонов можно в зашифрованном виде или не в зашифрованном (в незашифрованном эффективнее сжимаются сохранения т.к. обрабатываются все дубликаты во всех сохранённых диапазонах, а не частично в отдельном диапазоне), но можно шифровать сам файл пользовательских настроек - эффективность сжатия сохраняется.
+ есть возможность автоматически определять границы диапазона, выделяя весь лист или целый столбец или целую строку, см. usedrange
+ добавлена возможность выключать пользовательские сообщения и сообщения в статус-баре Excel

 

 

Пример использования

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UPD: 04.02.2024 BedvitXLL.dll_v5.1

 

+добавлена возможность использования разных локализаций и разной разрядности Excel при шифровании, дешифровки и сохранении формул/зачений (см. видеосправку ниже).

+добавлена обработка ошибок на листе Excel при шифровании, дешифровки и сохранении формул/значений.

Справочно: в 32-разрядной версии XLL - форма для шифрования - МОДАЛЬНАЯ, т.е. выделить необходимый диапазон нужно ДО открытия формы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Яндекс.Метрика