From 29d3242e5c428d3b0e8dc9db1c81cd4053e5271c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 4 Nov 2015 16:31:06 +0100 Subject: daemon: Support SHA-512 hashes. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #679. Note: on x86_64, SHA-512 is considerably faster than SHA-256 (198 MB/s versus 131 MB/s). Co-authored-by: Ludovic Courtès --- nix/libutil/sha512.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 nix/libutil/sha512.h (limited to 'nix/libutil/sha512.h') diff --git a/nix/libutil/sha512.h b/nix/libutil/sha512.h new file mode 100644 index 0000000000..d2abab4c5f --- /dev/null +++ b/nix/libutil/sha512.h @@ -0,0 +1,35 @@ +/* GNU Guix --- Functional package management for GNU + Copyright (C) 2012, 2015 Ludovic Courtès + + This file is part of GNU Guix. + + GNU Guix is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or (at + your option) any later version. + + GNU Guix is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with GNU Guix. If not, see . */ + +#include + +#define SHA512_CTX guix_hash_context + +static inline void +SHA512_Init (struct SHA512_CTX *ctx) +{ + guix_hash_init (ctx, GCRY_MD_SHA512); +} + +#define SHA512_Update guix_hash_update + +static inline void +SHA512_Final (void *resbuf, struct SHA512_CTX *ctx) +{ + guix_hash_final (resbuf, ctx, GCRY_MD_SHA512); +} -- cgit v1.2.3