X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Fsha1.h;h=d14a9c1e577b7239aaa53ce6c8bae5d557e54075;hb=d2bbd33f82880b553f5a0ea9f7d98a2cfc399542;hp=933444ac78bc25e6d792a28dd16147fa46b71228;hpb=19ce03addb8071555d951a965fa0bd7e3ae7224b;p=wimlib diff --git a/include/wimlib/sha1.h b/include/wimlib/sha1.h index 933444ac..d14a9c1e 100644 --- a/include/wimlib/sha1.h +++ b/include/wimlib/sha1.h @@ -1,27 +1,44 @@ +/* + * sha1.h + * + * The following copying information applies to this specific source code file: + * + * Written in 2013-2015 by Eric Biggers + * + * To the extent possible under law, the author(s) have dedicated all copyright + * and related and neighboring rights to this software to the public domain + * worldwide via the Creative Commons Zero 1.0 Universal Public Domain + * Dedication (the "CC0"). + * + * This software 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 CC0 for more details. + * + * You should have received a copy of the CC0 along with this software; if not + * see . + */ + #ifndef _WIMLIB_SHA1_H #define _WIMLIB_SHA1_H +#include + #include "wimlib/types.h" #include "wimlib/util.h" -#include - #define SHA1_HASH_SIZE 20 extern const u8 zero_hash[SHA1_HASH_SIZE]; +extern void +sprint_hash(const u8 hash[SHA1_HASH_SIZE], tchar strbuf[SHA1_HASH_SIZE * 2 + 1]); + static inline void copy_hash(u8 dest[SHA1_HASH_SIZE], const u8 src[SHA1_HASH_SIZE]) { memcpy(dest, src, SHA1_HASH_SIZE); } -static inline void -random_hash(u8 hash[SHA1_HASH_SIZE]) -{ - randomize_byte_array(hash, SHA1_HASH_SIZE); -} - static inline int hashes_cmp(const u8 h1[SHA1_HASH_SIZE], const u8 h2[SHA1_HASH_SIZE]) { @@ -34,24 +51,12 @@ hashes_equal(const u8 h1[SHA1_HASH_SIZE], const u8 h2[SHA1_HASH_SIZE]) return !hashes_cmp(h1, h2); } -static inline void -print_hash(const u8 hash[SHA1_HASH_SIZE], FILE *out) -{ - print_byte_field(hash, SHA1_HASH_SIZE, out); -} - static inline bool is_zero_hash(const u8 *hash) { return (hash == zero_hash || hashes_equal(hash, zero_hash)); } -static inline void -zero_out_hash(u8 hash[SHA1_HASH_SIZE]) -{ - copy_hash(hash, zero_hash); -} - #ifdef WITH_LIBCRYPTO #include