forked from Mirrors/wine-wine
rsaenh: Use bcrypt for MD4 hashes.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>oldstable
parent
e73d4e55a9
commit
2b7fcef811
|
@ -33,10 +33,6 @@
|
|||
|
||||
#include <stdio.h>
|
||||
|
||||
/* Function prototypes copied from dlls/advapi32/crypt_md4.c */
|
||||
VOID WINAPI MD4Init( MD4_CTX *ctx );
|
||||
VOID WINAPI MD4Update( MD4_CTX *ctx, const unsigned char *buf, unsigned int len );
|
||||
VOID WINAPI MD4Final( MD4_CTX *ctx );
|
||||
/* Function prototypes copied from dlls/advapi32/crypt_md5.c */
|
||||
VOID WINAPI MD5Init( MD5_CTX *ctx );
|
||||
VOID WINAPI MD5Update( MD5_CTX *ctx, const unsigned char *buf, unsigned int len );
|
||||
|
@ -56,8 +52,8 @@ BOOL init_hash_impl(ALG_ID aiAlgid, HASH_CONTEXT *pHashContext)
|
|||
break;
|
||||
|
||||
case CALG_MD4:
|
||||
MD4Init(&pHashContext->md4);
|
||||
return TRUE;
|
||||
status = BCryptOpenAlgorithmProvider(&provider, BCRYPT_MD4_ALGORITHM, MS_PRIMITIVE_PROVIDER, 0);
|
||||
break;
|
||||
|
||||
case CALG_MD5:
|
||||
MD5Init(&pHashContext->md5);
|
||||
|
@ -95,10 +91,6 @@ BOOL update_hash_impl(ALG_ID aiAlgid, HASH_CONTEXT *pHashContext, const BYTE *pb
|
|||
{
|
||||
switch (aiAlgid)
|
||||
{
|
||||
case CALG_MD4:
|
||||
MD4Update(&pHashContext->md4, pbData, dwDataLen);
|
||||
break;
|
||||
|
||||
case CALG_MD5:
|
||||
MD5Update(&pHashContext->md5, pbData, dwDataLen);
|
||||
break;
|
||||
|
@ -114,11 +106,6 @@ BOOL finalize_hash_impl(ALG_ID aiAlgid, HASH_CONTEXT *pHashContext, BYTE *pbHash
|
|||
{
|
||||
switch (aiAlgid)
|
||||
{
|
||||
case CALG_MD4:
|
||||
MD4Final(&pHashContext->md4);
|
||||
memcpy(pbHashValue, pHashContext->md4.digest, 16);
|
||||
break;
|
||||
|
||||
case CALG_MD5:
|
||||
MD5Final(&pHashContext->md5);
|
||||
memcpy(pbHashValue, pHashContext->md5.digest, 16);
|
||||
|
@ -138,7 +125,6 @@ BOOL duplicate_hash_impl(ALG_ID aiAlgid, const HASH_CONTEXT *pSrcHashContext,
|
|||
{
|
||||
switch (aiAlgid)
|
||||
{
|
||||
case CALG_MD4:
|
||||
case CALG_MD5:
|
||||
*pDestHashContext = *pSrcHashContext;
|
||||
return TRUE;
|
||||
|
|
|
@ -29,14 +29,6 @@
|
|||
|
||||
#define RSAENH_MAX_HASH_SIZE 104
|
||||
|
||||
/* Next typedef copied from dlls/advapi32/crypt_md4.c */
|
||||
typedef struct tagMD4_CTX {
|
||||
unsigned int buf[4];
|
||||
unsigned int i[2];
|
||||
unsigned char in[64];
|
||||
unsigned char digest[16];
|
||||
} MD4_CTX;
|
||||
|
||||
/* Next typedef copied from dlls/advapi32/crypt_md5.c */
|
||||
typedef struct tagMD5_CTX
|
||||
{
|
||||
|
@ -47,7 +39,6 @@ typedef struct tagMD5_CTX
|
|||
} MD5_CTX;
|
||||
|
||||
typedef union tagHASH_CONTEXT {
|
||||
MD4_CTX md4;
|
||||
MD5_CTX md5;
|
||||
BCRYPT_HASH_HANDLE bcrypt_hash;
|
||||
} HASH_CONTEXT;
|
||||
|
|
Loading…
Reference in New Issue