Описание
В зависимости от параметра decryption шифрует или расшифровывает буфер данных при помощи криптографического алгоритма AES128 ассоциированного с компонентом (Feature). Выполняет проверку лицензионный условий компонента.
Если лицензия ограничена по количеству запусков, то эта функция уменьшает значение счетчика запусков для лицензии на заданное через параметр n количество.
Флаги шифрования могут применяться дополнительно к выбранному режиму шифрования. Если установлен флаг GRD_NO_COUNTER_DECREMENT, то функция использует другой ключ шифрования и счетчик запусков не уменьшается. Флаг GRD_SOFTWARE_ACCELERATION позволяет значительно ускорить работу функции, т.к. данные будут шифроваться программным алгоритмом, ключ для которого зависит от компонента.
Синтаксис
function GrdFeatureCryptAndCount(handle: GrdHandle; dataSize: grd_uint32; data: Pointer; mode: grd_uint32; context: Pointer; contextSize: grd_uint32;
decryption: Integer; n: grd_uint32; flags: grd_uint32): Integer; stdcall; external;
Параметры
handle | Дескриптор сессии |
dataSize | Размер (в байтах) буфера для открытого сообщения |
data | Буфер содержащий открытое сообщение |
mode |
Флаги шифрования:
|
context | Контекст GrdAesContext, необходимый для операций шифрования с помощью AES |
contextSize | Размер контекста |
decryption | Тип преобразования, где для шифрования данных в параметр передается нулевое значение, а для расшифровывания любое ненулевое значение |
n | Количество запусков компонента, вычитаемых при вызове функции. Параметр принимает целочисленное ненулевое значение |
flags [зарезервировано] |