BedvitCOM.VariantAES256Encrypt

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

 

 Шифрование данных алгоритмами AES

 

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

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

 

 

Функции:
1. VARIANT stringProtect = VariantAES256Encrypt(VARIANT variantIn, BSTR password, VARIANT_BOOL secureZeroMemoryPassword, BSTR salt, LONG algorithmCrypto)
2. VARIANT variantUnProtect = VariantAES256Decrypt(VARIANT byteArrayIn, BSTR password, VARIANT_BOOL secureZeroMemoryPassword, BSTR salt, LONG algorithmCrypto)
 

Параметры функции:
1. 
variantIn - входящий массив или отдельное значение

1. byteArrayIn - входящий байтовый массив(строка) для расшифровки
2. password - пароль

3. secureZeroMemoryPassword - безопасное обнуление значения пароля

4. salt - соль (к паролю)

5. algorithmCrypto - алгоритмы шифрования AES:

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

 

stringProtect/variantUnProtect  - получаемый результат: зашифрованная строка или первоначальный VARIANT

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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