diff options
Diffstat (limited to 'libblake_blake2s_digest.c')
-rw-r--r-- | libblake_blake2s_digest.c | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/libblake_blake2s_digest.c b/libblake_blake2s_digest.c index 29a31a6..2ee45ed 100644 --- a/libblake_blake2s_digest.c +++ b/libblake_blake2s_digest.c @@ -1,33 +1,12 @@ /* See LICENSE file for copyright and license details. */ #include "common.h" -static void -encode_uint32_le(unsigned char *out, uint_least32_t value, size_t bytes) -{ - switch (bytes) { - default: - out[3] = (unsigned char)((value >> 24) & 255); - /* fall through */ - case 3: - out[2] = (unsigned char)((value >> 16) & 255); - /* fall through */ - case 2: - out[1] = (unsigned char)((value >> 8) & 255); - /* fall through */ - case 1: - out[0] = (unsigned char)((value >> 0) & 255); - /* fall through */ - case 0: - break; - } -} - void libblake_blake2s_digest(struct libblake_blake2s_state *state, void *data_, size_t len, int last_node, size_t output_len, unsigned char output[static output_len]) { unsigned char *data = data_; - size_t r, i, j; + size_t r; r = libblake_blake2s_update(state, data, len); data = &data[r]; @@ -45,6 +24,5 @@ libblake_blake2s_digest(struct libblake_blake2s_state *state, void *data_, size_ libblake_internal_blake2s_compress(state, data); - for (i = 0, j = 0; i < output_len; i += 4, j += 1) - encode_uint32_le(&output[i], state->h[j], output_len - i); + libblake_internal_blake2s_output_digest(state, output_len, output); } |