Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

Функция GrdDeCode производит раскодирование блока данных быстрым взаимообратным преобразованием.

Функция GrdDeCode  была предназначена для работы с устаревшими ключами Guardant Stealth. Данная функция реализована исключительно в целях совместимости и использование ее в современных приложениях не рекомендуется. Вместо GrdDeCode рекомендуется использовать функцию GrdCrypt.

 

Wiki Markup
{dojo-tabs:theme=tundra|id=1}
{dojo-tab:title=C|selected=true}
*C*
int GRD_API GrdDeCode(	
  DWORD dwCnvType,
  void *pKeyBuf,
  void *pData,
  DWORD dwLng
);	
{dojo-tab}
{dojo-tab:title=C#|selected=true}
*C#*

{dojo-tab}
{dojo-tab:title=Visual Basic (Declaration)}
*Visual Basic*

{dojo-tab}
{dojo-tab:title=Visual C++}
*Visual C++*

{dojo-tab}
{dojo-tabs}
Expand
titleВходные параметры

dwCnvType

метод быстрого взаимообратного преобразования. Задается одним из флагов GrdAT_XXX. Должен быть эквивалентен методу, заданному функцией GrdCodeInit

GrdAT_Algo0

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

GrdAT_AlgoASCII

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

GrdAT_AlgoFile

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

pKeyBuf

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

pData

буфер с данными для раскодирования

dwLng

объем (в байтах) данных для раскодирования

wCnvType

метод быстрого взаимообратного преобразования (должен быть эквивалентен методу, заданному функцией GrdCodeInit

pKeyBuf

Адрес переменной, содержащей преобразованный пароль

pData

Адрес буфера с данными для декодирования

dwLng

Объем (в байтах) данных для декодирования

dwCnvType

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

GrdAT_Algo0

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

GrdAT_AlgoASCII

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

GrdAT_AlgoFile

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

Expand
titleВыходные параметры

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

GrdE_InvalidCnvType

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

 

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

Expand
titleОписание

Функция GrdDeCode позволяет раскодировать информацию, ранее закодированную функцией GrdEnCode, используя быстрое взаимообратное преобразование. При этом функция не обращается к ключу - преобразование полностью производится компьютером. За счет этого и достигается высокая скорость преобразования.

Параметр pKeyBuf содержит пароль, преобразованный ранее функцией GrdCodeInit. С его помощью и будет производиться раскодирование данных. Сами данные должны быть расположены по адресу, заданному параметром pData, длина раскодируемой последовательности (в байтах) задается параметром dwLng. Раскодирование производится по методу, указанному в параметре wCnvType. Выбирая тот или иной метод преобразования необходимо учитывать его особенности и ограничения. Метод кодирования должен соответствовать заданному при вызове функции GrdCodeInit.

При успешном завершении по адресу, указанному в pData, будут помещены раскодированные данные. В этом случае функция вернет GrdE_OK.

Expand
titleПример

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

"\%Program Files%\Guardant\Guardant 6\%PublicCode%\Samples\x86\Win32\General Guardant API\"
или
"\%Program Files%\Guardant\Guardant 6\%Public Code%\Samples\x64\Win64\General Guardant API\"