Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Deck of Cards
id001
Card
defaulttrue
labelC
Code Block
languagecpp
int GRD_API GrdCodeInit(	
  HANDLE hGrd,
  DWORD dwCnvType,
  DWORD dwAddr,
  void *pKeyBuf
);	
Expand
titleПараметры функции

hGrd

хэндл, через который будет выполнена данная операция

dwCnvType

метод быстрого взаимообратного преобразования. Задается одним из флагов GrdAT_XXX

GrdAT_Algo0

Базовый метод. Кодирование выполняется блоками по 32 байта. Этот метод лучше всего использовать для преобразования нестроковых данных. Важная особенность метода: если закодировать большой объем памяти (или файл) участками, то декодирование нужно будет обязательно делать точно теми же участками, или же размер участков должен быть кратен 32 байтам. Функции GrdEnCode и GrdDeCode не изменяют пароль.

GrdAT_AlgoASCII

Символьный метод. Кодирование выполняется блоками по 32 байта. Этот метод хорош для кодирования строковых данных. Например, если вы хотите закодировать название поля базы данных, указанное в исходном тексте программы, то в некоторых языках программирования будет проблематично создать строки с несимвольными значениями. Символьный метод кодирует строки так, чтобы в них не было неотображаемых символов. Функции GrdEnCode и GrdDeCode не изменяют пароль.

GrdAT_AlgoFile

Файловый метод. Кодирование выполняется блоками произвольной длины, поэтому такой метод подходит для кодирования файлов. Кодирование этим методом файла блоками меньше 32 байт неэффективно. Функции GrdEnCode и GrdDeCode в этом методе преобразования изменяют пароль, поэтому последовательность использования функции GrdDeCode должна совпадать с последовательностью использования функции GrdEnCode .

dwAddr

порядковый номер аппаратного алгоритма, который будет использован для преобразования пароля.

pKeyBuf

буфер, содержащий 32-байтовый пароль для преобразования.

Expand
titleВозвращаемое значение функции

Возможные ошибки

GrdE_AlgoNotFound

Алгоритм с указанным номером не существует

GrdE_CRCErrorFunc

Ошибка CRC при выполнении алгоритма. Обычно возникает, если длина преобразуемогопароля не совпадает с длиной ответа алгоритма

GrdE_GPis0

Счетчик алгоритма достиг нулевого значения. Результат этого алгоритма больше нельзя получить

GrdE_InvalidCnvType

Указан неверный метод преобразования

 

Стандартный набор ошибок

Card
labelC#
Code Block
languagec#
public static GrdE GrdCodeInit(Handle grdHandle, GrdAT cnvType, uint addr, byte[] key)

Expand
titleПараметры метода

grdHandle [in] 

Тип: Handle

хэндл, через который будет выполнена данная операция.

cnvType [in]

Тип: GrdAT

Метод быстрого взаимнообратного преобразования. Задается одним из флагов GrdAT.

addr [in] 

Тип: uint

Порядковый номер аппаратного алгоритма, который будет использован для преобразования пароля.

key [in] 

Тип: byte [ ]

Буфер, который содержит пароль для преобразования размером 32 байта.

Expand
titleВозвращаемое значение метода

 

Card
labelJava
Code Block
languagejava
 public static GrdE GrdCodeInit(Handle grdHandle, int cnvType, int addr, byte[] key)
Expand
titleПараметры метода

grdHandle [in] 

Тип: Handle

хэндл, через который будет выполнена данная операция.

cnvType [in]

Тип: int

Метод быстрого взаимнообратного преобразования. Задается одним из флагов GrdAT.

addr [in] 

Тип: int

Порядковый номер аппаратного алгоритма, который будет использован для преобразования пароля.

key [in] 

Тип: byte [ ]

Буфер, который содержит пароль для преобразования размером 32 байта.

Expand
titleВозвращаемое значение метода

 

...