1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*
- ---------------------------------------------------------------------------
- Copyright (c) 2002, Dr Brian Gladman, Worcester, UK. All rights reserved.
-
- LICENSE TERMS
-
- The free distribution and use of this software in both source and binary
- form is allowed (with or without changes) provided that:
-
- 1. distributions of this source code include the above copyright
- notice, this list of conditions and the following disclaimer;
-
- 2. distributions in binary form include the above copyright
- notice, this list of conditions and the following disclaimer
- in the documentation and/or other associated materials;
-
- 3. the copyright holder's name is not used to endorse products
- built using this software without specific written permission.
-
- ALTERNATIVELY, provided that this notice is retained in full, this product
- may be distributed under the terms of the GNU General Public License (GPL),
- in which case the provisions of the GPL apply INSTEAD OF those given above.
-
- DISCLAIMER
-
- This software is provided 'as is' with no explicit or implied warranties
- in respect of its properties, including, but not limited to, correctness
- and/or fitness for purpose.
- ---------------------------------------------------------------------------
- Issue Date: 01/08/2005
- */
-
- #ifndef _SHA1_H
- #define _SHA1_H
-
- #include <stdlib.h>
- #include "brg_types.h"
-
- #define SHA1_BLOCK_SIZE 64
- #define SHA1_DIGEST_SIZE 20
-
- #if defined(__cplusplus)
- extern "C"
- {
- #endif
-
- /* type to hold the SHA256 context */
-
- typedef struct
- { uint_32t count[2];
- uint_32t hash[5];
- uint_32t wbuf[16];
- } sha1_ctx;
-
- /* Note that these prototypes are the same for both bit and */
- /* byte oriented implementations. However the length fields */
- /* are in bytes or bits as appropriate for the version used */
- /* and bit sequences are input as arrays of bytes in which */
- /* bit sequences run from the most to the least significant */
- /* end of each byte */
-
- VOID_RETURN sha1_compile(sha1_ctx ctx[1]);
-
- VOID_RETURN sha1_begin(sha1_ctx ctx[1]);
- VOID_RETURN sha1_hash(const unsigned char data[], unsigned long len, sha1_ctx ctx[1]);
- VOID_RETURN sha1_end(unsigned char hval[], sha1_ctx ctx[1]);
- VOID_RETURN sha1(unsigned char hval[], const unsigned char data[], unsigned long len);
-
- #if defined(__cplusplus)
- }
- #endif
-
- #endif
|