Описание
Расшифровывает буфер данных при помощи криптографического алгоритма AES128, ассоциированного с компонентом (Feature). Выполняет проверку лицензионных условий компонента.
Если лицензия ограничена по количеству запусков, то эта функция уменьшает значение счетчика запусков для лицензии.
Флаги шифрования могут применяться дополнительно к выбранному режиму шифрования.
Если установлен флаг GRD_NO_COUNTER_DECREMENT, то функция использует другой ключ шифрования и счетчик запусков не уменьшается.
Флаг GRD_SOFTWARE_ACCELERATION позволяет значительно ускорить работу функции, т.к. данные будут расшифровываться программным алгоритмом, ключ для которого зависит от компонента.
Если данные шифровались с флагом GRD_NO_COUNTER_DECREMENT, то расшифровывать нужно также с этим флагом.
Режимы шифрования GRD_EM_CFB и GRD_EM_OFB доступны только при одновременном использовании флага GRD_SOFTWARE_ACCELERATION.
Если при шифровании использовался вектор инициализации iv, то при дешифрации необходимо указать тот же вектор.
Синтаксис
function GrdFeatureDecrypt( handle: GrdHandle; dataSize: grd_uint32; data: Pointer; mode: grd_uint32; iv: Pointer; ivSize: grd_uint32): Integer; stdcall;
Параметры
handle | Дескриптор сеcсии |
dataSize | Размер (в байтах) буфера для шифрования |
data | Указатель на буфер для шифрования |
mode |
|
iv | Буфер для передачи вектора инициализации. Может быть NULL |
ivSize | Размер буфера вектора инициализации iv. Должен быть равен 16 байт. Может быть 0 |