DWORD CPCAPI CPCHashData( HCRYPTMODULE hCSP, HCRYPTPROV hProv, HCRYPTHASH hHash, CONST BYTE * pbData, DWORD dwDataLen, DWORD dwFlags );
Коды возврата | Описание |
---|---|
ERROR_INVALID_PARAMETER | Один из параметров содержит некорректное значение. Чаще всего это некорректный указатель. |
NTE_BAD_ALGID | Указанный объект хэширования не поддерживает данную операцию. |
NTE_BAD_HASH | Дескриптор хэша ошибочен. |
NTE_BAD_HASH_STATE | Была сделана попытка добавить данные к объекту функции хэширования, который уже отмечен как "закрытый". |
NTE_BAD_KEY | Используется алгоритм хэширования (CALG_G28147_IMIT, CALG_GR3413_2015_M_IMIT, CALG_GR3413_2015_K_IMIT), но сессионный ключ удалён прежде, чем действие хэширования завершено, или превышена допустимая нагрузка на ключ. |
NTE_BAD_FLAGS | Величина dwFlags имеет значение, отличное от нулевого либо от CP_HASH_DATA_IOVEC. |
NTE_BAD_LEN | Величина dwDataLen при установленном флаге CP_HASH_DATA_IOVEC имеет значение, превосходящее CSP_UIO_MAXIOV. |
NTE_FAIL | Нарушение целостности ключей в ОЗУ. |
SCARD_W_CANCELLED_BY_USER | Операция хэширования отменена пользователем. |
ERROR_MESSAGE_EXCEEDS_MAX_SIZE | Попытка хэширования слишком большого блока данных. |
Ядро AIX: 6/7.
Ядро FreeBSD: 11/12.
Ядро Linux: 2.6.x и выше.
Ядро Solaris: 10/11.
Ядро Windows: 7/8/8.1/10, Server 2008/2008R2/2012/2012R2/2016/2019.
CPCCreateHash() ,CPCHashSessionKey() ,CPHashData в MS CSP ,CryptHashData в MS CryptoAPI 2.0