Changeset 34afea7 for lib/sha1.h
- Timestamp:
- 2015-01-31T23:58:57Z (9 years ago)
- Branches:
- master
- Children:
- 0ca1d79
- Parents:
- e41cc40
- git-author:
- dequis <dx@…> (18-01-15 06:39:20)
- git-committer:
- dequis <dx@…> (31-01-15 23:58:57)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lib/sha1.h
re41cc40 r34afea7 1 /*2 * SHA1 hashing code copied from Lepton's crack <http://usuarios.lycos.es/reinob/>3 *4 * Adapted to be API-compatible with the previous (GPL-incompatible) code.5 */6 7 /*8 * sha1.h9 *10 * Description:11 * This is the header file for code which implements the Secure12 * Hashing Algorithm 1 as defined in FIPS PUB 180-1 published13 * April 17, 1995.14 *15 * Many of the variable names in this code, especially the16 * single character names, were used because those were the names17 * used in the publication.18 *19 * Please read the file sha1.c for more information.20 *21 */22 1 23 2 #ifndef _SHA1_H_ 24 3 #define _SHA1_H_ 25 4 26 #if(__sun) 27 #include <inttypes.h> 28 #else 29 #include <stdint.h> 30 #endif 5 #include <glib.h> 31 6 #include <gmodule.h> 32 7 33 #ifndef _SHA_enum_ 34 #define _SHA_enum_ 35 enum { 36 shaSuccess = 0, 37 shaNull, /* Null pointer parameter */ 38 shaInputTooLong, /* input data too long */ 39 shaStateError /* called Input after Result */ 40 }; 41 #endif 42 #define sha1_hash_size 20 8 #define SHA1_HASH_SIZE 20 43 9 44 /* 45 * This structure will hold context information for the SHA-1 46 * hashing operation 47 */ 48 typedef struct SHA1Context { 49 uint32_t Intermediate_Hash[sha1_hash_size/4]; /* Message Digest */ 10 typedef GChecksum *sha1_state_t; 50 11 51 uint32_t Length_Low; /* Message length in bits */ 52 uint32_t Length_High; /* Message length in bits */ 53 54 /* Index into message block array */ 55 int_least16_t Message_Block_Index; 56 uint8_t Message_Block[64]; /* 512-bit message blocks */ 57 58 int Computed; /* Is the digest computed? */ 59 int Corrupted; /* Is the message digest corrupted? */ 60 } sha1_state_t; 61 62 /* 63 * Function Prototypes 64 */ 65 66 G_MODULE_EXPORT int sha1_init(sha1_state_t *); 67 G_MODULE_EXPORT int sha1_append(sha1_state_t *, const uint8_t *, unsigned int); 68 G_MODULE_EXPORT int sha1_finish(sha1_state_t *, uint8_t Message_Digest[sha1_hash_size]); 69 G_MODULE_EXPORT void sha1_hmac(const char *key_, size_t key_len, const char *payload, size_t payload_len, uint8_t Message_Digest[sha1_hash_size]); 70 G_MODULE_EXPORT char *sha1_random_uuid( sha1_state_t * context ); 12 void sha1_init(sha1_state_t *); 13 void sha1_append(sha1_state_t *, const guint8 *, unsigned int); 14 void sha1_finish(sha1_state_t *, guint8 digest[SHA1_HASH_SIZE]); 15 void sha1_hmac(const char *, size_t, const char *, size_t, guint8 digest[SHA1_HASH_SIZE]); 16 char *sha1_random_uuid(sha1_state_t *); 71 17 72 18 #endif
Note: See TracChangeset
for help on using the changeset viewer.