24.05.2006 15:46:56Алгоритмы Ответов: 2
Василий
С помощью функции CryptGetProvParam получил список алгоритмов Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider, тип 75:

26142 GOST 28147-89 длина ключа - 256 бит ID: 26142
32798 GOST R 34.11-94 длина ключа - 256 бит ID: 32798
32799 HMAC GOST 28147-89 длина ключа - 32 бит ID: 32799
11811 GOST R 34.10-01 длина ключа - 512 бит ID: 11811
43556 Diffie-Hellman EL длина ключа - 512 бит ID: 43556
43557 Diffie-Hellman EL длина ключа - 512 бит ID: 43557

Какой из них можно использовать для CryptCreateHash? При любом алгоритме появляется NTE_BAD_ALGID
 
Ответы:
25.05.2006 10:59:43Kirill Sobolev
GOST R 34.11-94
Его ALG_ID CALG_GR3411 = 32798 (0x801e)
25.05.2006 11:07:47Василий
Собственно, ответ в вопросе. Т.к. ГОСТ Р 34.11-94 описывает алгоритм хеширования, то ALGID алгоритма хеширования - 32798.
Пример вызова:
CryptCreateHash(
hProv,
CALG_GR3411,
0,
0,
&hHash)
где значение константы CALG_GR3411 = 32798