02.11.2005 16:20:57Получить хэш/дайджест массива байт простейшим способом Ответов: 1
Виктор
Господа!
Хочется получить хэш/дайджест массива байт простейшим способом. Мне кажется для этих целей должна подойти "упрощенная" функция CryptHashMessage. Однако на форуме про нее ни слова, а все пользуются исключительно CryptCreateHash. Это связано только с тем, что позднее этот хэш подписывается или есть другие веские причины? Для подписи используется CryptSignMessage. Может быть можно вообще через эту функцию вернуть хэш, ведь должна же она его вычислять перед тем, как подписать :-)

Решаемая задача: ЭЦП в XML.

Заранее большое спасибо!
 
Ответы:
02.11.2005 18:08:55kure
Дело в том, что CryptHashMessage на выходе делает формат pkcs#7 в нотации ASN.1

dwMsgEncodingType
Type of encoding used. It is always acceptable to specify both the certificate and message encoding types by combining them with a bitwise-OR operation as shown in the following example:
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING

Currently defined encoding types are:

X509_ASN_ENCODING
PKCS_7_ASN_ENCODING

а CryptCreateHash - чистый хэш.