хэндл, через который будет выполнена данная операция
dwHash
Номер аппаратно- или программно-реализованного алгоритма, вычисляющего хэш-функцию. Номер программно-реализованного алгоритма должен быть должен быть равен GrdSH_CRC32 или GrdSH_SHA256. Номер аппаратного алгоритма должен соответствовать номеру используемого алгоритма HASH64.
GrdSH_CRC32
Алгоритм CRC32
GrdSH_SHA256
Алгоритм SHA256
dwDataLng
Длина блока данных, хэш которых будет вычисляться, в байтах. Для алгоритмов HASH64 минимальная длина блока составляет GrdARS_HASH64.
pData
указатель на буфер данных , хэш которых будет вычисляться
dwMethod
метод преобразования, который задается комбинацией флагов GrdSC_XXX
GrdSC_First
Первый блок данных
GrdSC_Next
Следующий блок данных
GrdSC_Last
Последний блок данных
GrdSC_All
Единственный блок данных. Хэш считается за один раз
dwDigestLng
длина вычисляемого дайджеста (хэша)
pDigest
Указатель на буфер, куда будет помещен результат вычислений. Для этого буфера должна быть зарезервирована память не менее:
для алгоритма SHA256 - GrdSHA256_DIGEST_SIZE
для алгоритма HASH64 - GrdHASH64_DIGEST_SIZE
для алгоритма CRC32 - GrdCRC32_DIGEST_SIZE
dwKeyBufLng
Длина секретного ключа. Если не используется, должна быть равна 0
pKeyBuf
Указатель на буфер с секретным ключом для программно-реализованного алгоритма. Если не используется, должен быть равен NULL
dwContextLng
Размер контекста
pContext
Буфер, длиной GrdSHA256_CONTEXT_SIZE для хранения контекста (состояния алгоритма) при последовательном вычислении хэш-функции SHA256 от нескольких блоков данных. Для алгоритмов HASH64 и CRC32 должен быть равен NULL.
GrdSHA256_DIGEST_SIZE
Размер дайджеста, возвращаемого алгоритмом SHA256
GrdSHA256_CONTEXT_SIZE
Размер контекста алгоритма SHA256 для запоминания предыдущего состояния алгоритма
pReserved
Зарезервировано. Параметр должен быть равен NULL
Expand
title
Возвращаемые значения Возвращаемое значение функции