пишу процедуру вычисления HMAC-MD5 с помощью cryptohash.lib Код (Text): invoke GetProcessHeap mov hHeap,eax mov eax,128 add eax,blocksize invoke HeapAlloc,hHeap,HEAP_ZERO_MEMORY,eax mov pHeap,eax mov pad_buf,eax mov pad_const,36h mov edx,2 pad: xor eax,eax lea esi,key mov edi,pad_buf mov ecx,64 pad_loop: lodsb xor al,pad_const stosb loop pad_loop dec edx test edx,edx jz padded mov eax,pHeap add eax,64 mov pad_buf,eax mov pad_const,5ch jmp pad padded: invoke MD5Init mov ebx,pHeap invoke MD5Update,ebx,64 invoke MD5Update,offset message,message_len invoke MD5Final mov esi,eax mov edi,pHeap add edi,128 push edi mov ecx,blocksize rep movsb invoke MD5Init mov ebx,pHeap add ebx,64 invoke MD5Update,ebx,64 pop ebx invoke MD5Update,ebx,blocksize invoke MD5Final invoke HeapFree,hHeap,0,pHeap первые два теста из RFC2202 проходят, а третий нет, хотя MD5 сообщения вычисляется верно