[BACK]Return to hash.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Annotation of src/usr.bin/ssh/hash.c, Revision 1.6

1.6     ! djm         1: /* $OpenBSD: hash.c,v 1.5 2018/01/13 00:24:09 naddy Exp $ */
1.5       naddy       2: /*
                      3:  * Public domain. Author: Christian Weisgerber <naddy@openbsd.org>
                      4:  * API compatible reimplementation of function from nacl
                      5:  */
1.1       markus      6:
                      7: #include "crypto_api.h"
                      8:
1.4       naddy       9: #include <stdarg.h>
1.1       markus     10:
1.6     ! djm        11: #ifdef WITH_OPENSSL
        !            12: #include <openssl/evp.h>
1.4       naddy      13:
                     14: int
                     15: crypto_hash_sha512(unsigned char *out, const unsigned char *in,
                     16:     unsigned long long inlen)
1.1       markus     17: {
                     18:
1.6     ! djm        19:        if (!EVP_Digest(in, inlen, out, NULL, EVP_sha512(), NULL))
        !            20:                return -1;
1.4       naddy      21:        return 0;
1.1       markus     22: }
1.6     ! djm        23:
        !            24: #else
        !            25: #include <sha2.h>
        !            26:
        !            27: int
        !            28: crypto_hash_sha512(unsigned char *out, const unsigned char *in,
        !            29:     unsigned long long inlen)
        !            30: {
        !            31:
        !            32:        SHA2_CTX ctx;
        !            33:
        !            34:        SHA512Init(&ctx);
        !            35:        SHA512Update(&ctx, in, inlen);
        !            36:        SHA512Final(out, &ctx);
        !            37:        return 0;
        !            38: }
        !            39: #endif /* WITH_OPENSSL */