Функция 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 |
---|
|
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 |
---|
|
Функция GrdDeCode позволяет раскодировать информацию, ранее закодированную функцией GrdEnCode, используя быстрое взаимообратное преобразование. При этом функция не обращается к ключу - преобразование полностью производится компьютером. За счет этого и достигается высокая скорость преобразования. Параметр pKeyBuf содержит пароль, преобразованный ранее функцией GrdCodeInit. С его помощью и будет производиться раскодирование данных. Сами данные должны быть расположены по адресу, заданному параметром pData, длина раскодируемой последовательности (в байтах) задается параметром dwLng. Раскодирование производится по методу, указанному в параметре wCnvType. Выбирая тот или иной метод преобразования необходимо учитывать его особенности и ограничения. Метод кодирования должен соответствовать заданному при вызове функции GrdCodeInit. При успешном завершении по адресу, указанному в pData, будут помещены раскодированные данные. В этом случае функция вернет GrdE_OK. |
Expand |
---|
|
Пример для используемого средства разработки см. в директории: "\%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\" |