Card |
---|
| Code Block |
---|
| int GRD_API GrdHashEx(
HANDLE hGrd,
DWORD dwHash,
DWORD dwDataLng,
void *pData,
DWORD dwMethod,
DWORD dwDigestLng,
void *pDigest,
DWORD dwKeyBufLng,
void *pKeyBuf,
DWORD dwContextLng,
void *pContext,
void *pReserved);
); |
Expand |
---|
| hGrd | хэндл, через который будет выполнена данная операция | 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 |
|
|
Card |
---|
| Code Block |
---|
| public static GrdE GrdHashEx(Handle grdHandle,GrdAlgNum hashNum, byte[] data, GrdSC method, byte[] digest)
public static GrdE GrdHashEx(Handle grdHandle,GrdAlgNum hashNum, byte[] data, GrdSC method, byte[] digest, byte[]context)
|
Expand |
---|
| grdHandle [in] Тип: Handle хэндл, через который будет выполнена данная операция. hashNum [in] Тип: GrdAlgNum Номер аппаратно- или программно-реализованного алгоритма, с помощью которого будет вычисляться хэш-функция. data [in] Тип: byte [ ] Указатель на буфер данных, хэш которых будет вычисляться. method [in] Тип: GrdSC Метод преобразования, который задается комбинацией флагов GrdSC. digest [in] Тип: byte [ ] Указатель на буфер, куда будет помещен результат вычислений. context [in] Тип: byte [ ] Буфер для хранения контекста (состояния алгоритма) при последовательном вычислении хэш-функции SHA256 от нескольких блоков данных. |
Expand |
---|
title | Возвращаемое значение метода |
---|
| |
|
Card |
---|
| Code Block |
---|
| public static GrdE GrdHashEx(Handle grdHandle, int hash, byte[] data, GrdSC method, byte[] digest)
public static GrdE GrdHashEx(Handle grdHandle, int hash, byte[] data, GrdSC method, byte[] digest, byte[] context) |
Expand |
---|
title | Возвращаемое значение метода |
---|
| |
|
|