diff options
Diffstat (limited to 'cipher/md5.c')
-rw-r--r-- | cipher/md5.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/cipher/md5.c b/cipher/md5.c index 035eaf11b..bb930d042 100644 --- a/cipher/md5.c +++ b/cipher/md5.c @@ -37,6 +37,8 @@ #include "memory.h" #include "dynload.h" +#include "bithelp.h" + typedef struct { u32 A,B,C,D; /* chaining variables */ @@ -104,15 +106,11 @@ transform( MD5_CONTEXT *ctx, byte *data ) do \ { \ a += FF (b, c, d) + (*cwp++) + T; \ - CYCLIC (a, s); \ + a = rol(a, s); \ a += b; \ } \ while (0) - /* It is unfortunate that C does not provide an operator for - cyclic rotation. Hope the C compiler is smart enough. */ -#define CYCLIC(w, s) (w = (w << s) | (w >> (32 - s))) - /* Before we start, one word about the strange constants. They are defined in RFC 1321 as @@ -142,7 +140,7 @@ transform( MD5_CONTEXT *ctx, byte *data ) do \ { \ a += f (b, c, d) + correct_words[k] + T; \ - CYCLIC (a, s); \ + a = rol(a, s); \ a += b; \ } \ while (0) |