Описание
В зависимости от параметра doDecryption шифрует или расшифровывает буфер данных при помощи криптографического алгоритма AES128 ассоциированного с компонентом (Feature). Выполняет проверку лицензионный условий компонента.
Если лицензия ограничена по количеству запусков, то этот метод уменьшает значение счетчика запусков для лицензии на заданное через параметр n количество.
Флаги шифрования могут применяться дополнительно к выбранному режиму шифрования.
Если установлен флаг GRD_NO_COUNTER_DECREMENT, то метод использует другой ключ шифрования и счетчик запусков не уменьшается.
Флаг GRD_SOFTWARE_ACCELERATION позволяет значительно ускорить работу метода, т.к. данные будут шифроваться программным алгоритмом, ключ для которого зависит от компонента.
Результаты шифрования одинаковых данных с флагом GRD_NO_COUNTER_DECREMENT и без него будут различаться.
Режимы шифрования GRD_EM_CFB и GRD_EM_OFB доступны только при использовании флага GRD_SOFTWARE_ACCELERATION.
Синтаксис
public unsafe Status CryptAndCount(byte[] data, FeatureEncryptMode mode, GrdAesContext context, bool doDecryption, UInt32 n, UInt32 flags)
Параметры
data | Открытое сообщение |
mode |
Флаги шифрования:
|
context | Контекст GrdAesContext, необходимый для операций шифрования с помощью AES |
doDecryption | Тип преобразования, где для шифрования данных в параметр передается нулевое значение, а для расшифровывания любое ненулевое значение |
n | Количество запусков компонента, вычитаемых при вызове функции. Параметр принимает целочисленное, ненулевое значение |
flags [зарезервировано] |