/*====================================================================* * * SHA256.h - SHA256 encryption declarations and definitions; * * Motley Tools by Charles Maier <cmaier@cmassoc.net>; * Copyright (c) 2001-2006 by Charles Maier Associates; * Licensed under the Internet Software Consortium License; * *--------------------------------------------------------------------*/ #ifndef SHA256_HEADER #define SHA256_HEADER /*====================================================================* * system header files; *--------------------------------------------------------------------*/ #include <stdint.h> #include <string.h> /*====================================================================* * constants; *--------------------------------------------------------------------*/ #define SHA256_DIGEST_LENGTH 256/8 /*====================================================================* * variables; *--------------------------------------------------------------------*/ typedef struct sha256 { uint32_t count [2]; uint32_t state [8]; uint8_t block [64]; uint8_t extra [64]; } SHA256; /*====================================================================* * functions; *--------------------------------------------------------------------*/ void SHA256Reset (struct sha256 * sha256); void SHA256Write (struct sha256 * sha256, void const * memory, size_t extent); void SHA256Block (struct sha256 * sha256, void const * memory); void SHA256Fetch (struct sha256 * sha256, uint8_t digest []); void SHA256Print (const uint8_t digest [], char const * string); void SHA256Ident (signed fd, uint8_t digest []); signed SHA256Match (signed fd, const uint8_t digest []); /*====================================================================* * *--------------------------------------------------------------------*/ #endif