From fc474da559677770b90ad295d5331144c52c5a98 Mon Sep 17 00:00:00 2001 From: Joseph Chen Date: Tue, 5 Nov 2019 12:21:22 +0800 Subject: [PATCH] lib: sha256: add sha256_csum() Change-Id: I3b053f9c07df0d124cdbde9f905e309bcd11c84e Signed-off-by: Joseph Chen --- include/u-boot/sha256.h | 2 ++ lib/sha256.c | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/include/u-boot/sha256.h b/include/u-boot/sha256.h index 9aa1251789..e63f3365e9 100644 --- a/include/u-boot/sha256.h +++ b/include/u-boot/sha256.h @@ -21,5 +21,7 @@ void sha256_finish(sha256_context * ctx, uint8_t digest[SHA256_SUM_LEN]); void sha256_csum_wd(const unsigned char *input, unsigned int ilen, unsigned char *output, unsigned int chunk_sz); +void sha256_csum(const unsigned char *input, unsigned int ilen, + unsigned char *output); #endif /* _SHA256_H */ diff --git a/lib/sha256.c b/lib/sha256.c index 7f5a3618d0..251825ce0f 100644 --- a/lib/sha256.c +++ b/lib/sha256.c @@ -257,6 +257,19 @@ void sha256_finish(sha256_context * ctx, uint8_t digest[32]) PUT_UINT32_BE(ctx->state[7], digest, 28); } +/* + * Output = SHA-256( input buffer ). + */ +void sha256_csum(const unsigned char *input, unsigned int ilen, + unsigned char *output) +{ + sha256_context ctx; + + sha256_starts(&ctx); + sha256_update(&ctx, input, ilen); + sha256_finish(&ctx, output); +} + /* * Output = SHA-256( input buffer ). Trigger the watchdog every 'chunk_sz' * bytes of input processed.