From af89b978b1b26aefe55d3d444a79b8c7c3f3a706 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=B6ller?= <nisse@lysator.liu.se> Date: Fri, 26 Mar 2010 15:28:36 +0100 Subject: [PATCH] (sha1_digest): Use _nettle_write_be32. Rev: nettle/sha1.c:1.2 --- sha1.c | 36 ++---------------------------------- 1 file changed, 2 insertions(+), 34 deletions(-) diff --git a/sha1.c b/sha1.c index e0498f70..c04ab775 100644 --- a/sha1.c +++ b/sha1.c @@ -47,6 +47,7 @@ #include "sha.h" #include "macros.h" +#include "nettle-write.h" /* A block, treated as a sequence of 32-bit words. */ #define SHA1_DATA_LENGTH 16 @@ -164,42 +165,9 @@ sha1_digest(struct sha1_ctx *ctx, unsigned length, uint8_t *digest) { - unsigned i; - unsigned words; - unsigned leftover; - assert(length <= SHA1_DIGEST_SIZE); sha1_final(ctx); - - words = length / 4; - leftover = length % 4; - - for (i = 0; i < words; i++, digest += 4) - WRITE_UINT32(digest, ctx->digest[i]); - - if (leftover) - { - uint32_t word; - unsigned j = leftover; - - assert(i < _SHA1_DIGEST_LENGTH); - - word = ctx->digest[i]; - - switch (leftover) - { - default: - abort(); - case 3: - digest[--j] = (word >> 8) & 0xff; - /* Fall through */ - case 2: - digest[--j] = (word >> 16) & 0xff; - /* Fall through */ - case 1: - digest[--j] = (word >> 24) & 0xff; - } - } + _nettle_write_be32(length, digest, ctx->digest); sha1_init(ctx); } -- GitLab