You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

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

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

    int GRD_API GrdEnCode(	
      DWORD dwCnvType,
      void *pKeyBuf,
      void *pData,
      DWORD dwLng
    );	

    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

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

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

    GrdE_InvalidCnvType

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

     

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

    public static GrdE GrdEnCode(GrdAT cnvType, byte[] key, byte[] data)
    
    

     

     

     

     

     

    C
    int GRD_API GrdEnCode(
    DWORD dwCnvType,
    void *pKeyBuf,
    void *pData,
    DWORD dwLng
    );

    C#

    Visual Basic

    Visual C++

    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

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

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

    GrdE_InvalidCnvType

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

     

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

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

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

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

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

    "\%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\"

    • No labels