/* $OpenBSD: hash.c,v 1.6 2019/11/29 00:11:21 djm Exp $ */ /* * Public domain. Author: Christian Weisgerber * API compatible reimplementation of function from nacl */ #include "crypto_api.h" #include #ifdef WITH_OPENSSL #include 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 #include 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 */