diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 19:49:46 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 19:49:46 +0000 |
commit | 0b6b94e6b6152f15cf4c2247c5974f539aae28cd (patch) | |
tree | a7698198a1f527ede17a929af46e456e03d50600 /hash.c | |
parent | Initial commit. (diff) | |
download | openssh-0b6b94e6b6152f15cf4c2247c5974f539aae28cd.tar.xz openssh-0b6b94e6b6152f15cf4c2247c5974f539aae28cd.zip |
Adding upstream version 1:9.6p1.upstream/1%9.6p1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | hash.c | 43 |
1 files changed, 43 insertions, 0 deletions
@@ -0,0 +1,43 @@ +/* $OpenBSD: hash.c,v 1.6 2019/11/29 00:11:21 djm Exp $ */ +/* + * Public domain. Author: Christian Weisgerber <naddy@openbsd.org> + * API compatible reimplementation of function from nacl + */ + +#include "includes.h" + +#include "crypto_api.h" + +#include <stdarg.h> + +#ifdef WITH_OPENSSL +#include <openssl/evp.h> + +int +crypto_hash_sha512(unsigned char *out, const unsigned char *in, + unsigned long long inlen) +{ + + if (!EVP_Digest(in, inlen, out, NULL, EVP_sha512(), NULL)) + return -1; + return 0; +} + +#else +# ifdef HAVE_SHA2_H +# include <sha2.h> +# endif + +int +crypto_hash_sha512(unsigned char *out, const unsigned char *in, + unsigned long long inlen) +{ + + SHA2_CTX ctx; + + SHA512Init(&ctx); + SHA512Update(&ctx, in, inlen); + SHA512Final(out, &ctx); + return 0; +} +#endif /* WITH_OPENSSL */ |