summaryrefslogtreecommitdiff
path: root/md5.c
diff options
context:
space:
mode:
authorNiels Möller <nisse@lysator.liu.se>2011-08-28 22:19:39 +0200
committerNiels Möller <nisse@lysator.liu.se>2011-08-28 22:19:39 +0200
commit13b956bbf1fa189933a80b02e42607ef8502b822 (patch)
tree2940380522aebc7cf961ce9461e7427f2d754cce /md5.c
parent9b36817b757e8111358de30a8e2d6b829c8ff148 (diff)
downloadnettle-13b956bbf1fa189933a80b02e42607ef8502b822.tar.gz
(md5_digest): Use _nettle_write_le32.
Rev: nettle/md5.c:1.2
Diffstat (limited to 'md5.c')
-rw-r--r--md5.c28
1 files changed, 3 insertions, 25 deletions
diff --git a/md5.c b/md5.c
index d398b31e..2a3cfe76 100644
--- a/md5.c
+++ b/md5.c
@@ -36,6 +36,7 @@
#include "md5.h"
#include "macros.h"
+#include "nettle-write.h"
static void
md5_final(struct md5_ctx *ctx);
@@ -97,34 +98,11 @@ void
md5_digest(struct md5_ctx *ctx,
unsigned length,
uint8_t *digest)
-{
- unsigned i;
- unsigned words;
- unsigned leftover;
-
+{
assert(length <= MD5_DIGEST_SIZE);
md5_final(ctx);
-
- words = length / 4;
- leftover = length % 4;
-
- /* Little endian order */
- for (i = 0; i < words; i++, digest += 4)
- LE_WRITE_UINT32(digest, ctx->digest[i]);
-
- if (leftover)
- {
- uint32_t word;
- unsigned j;
-
- assert(i < _MD5_DIGEST_LENGTH);
-
- /* Still least significant byte first. */
- for (word = ctx->digest[i], j = 0; j < leftover;
- j++, word >>= 8)
- digest[j] = word & 0xff;
- }
+ _nettle_write_le32(length, digest, ctx->digest);
md5_init(ctx);
}