annotate src/sha1.h @ 0:d39e1d0d75b6

initial add
author paulo@hit-nxdomain.opendns.com
date Sat, 20 Feb 2010 21:18:28 -0800
parents
children
rev   line source
paulo@0 1 /*
paulo@0 2 * $Id: sha1.h,v 1.10 2004/03/05 17:47:29 hipnod Exp $
paulo@0 3 *
paulo@0 4 * Copyright (C) 2001-2004 giFT project (gift.sourceforge.net)
paulo@0 5 *
paulo@0 6 * This program is free software; you can redistribute it and/or modify it
paulo@0 7 * under the terms of the GNU General Public License as published by the
paulo@0 8 * Free Software Foundation; either version 2, or (at your option) any
paulo@0 9 * later version.
paulo@0 10 *
paulo@0 11 * This program is distributed in the hope that it will be useful, but
paulo@0 12 * WITHOUT ANY WARRANTY; without even the implied warranty of
paulo@0 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
paulo@0 14 * General Public License for more details.
paulo@0 15 */
paulo@0 16
paulo@0 17 #ifndef GIFT_GT_SHA1_H_
paulo@0 18 #define GIFT_GT_SHA1_H_
paulo@0 19
paulo@0 20 /*****************************************************************************/
paulo@0 21
paulo@0 22 #define SHA_BLOCKSIZE 64
paulo@0 23 #define SHA_DIGESTSIZE 20
paulo@0 24
paulo@0 25 #define SHA1_BINSIZE 20
paulo@0 26 #define SHA1_STRLEN 32
paulo@0 27
paulo@0 28 /*****************************************************************************/
paulo@0 29
paulo@0 30 struct sha1_state
paulo@0 31 {
paulo@0 32 unsigned long digest[5]; /* message digest */
paulo@0 33 unsigned long count_lo, count_hi; /* 64-bit bit count */
paulo@0 34 uint8_t data[SHA_BLOCKSIZE]; /* SHA data buffer */
paulo@0 35 int local; /* unprocessed amount in data */
paulo@0 36 };
paulo@0 37
paulo@0 38 typedef struct sha1_state sha1_state_t;
paulo@0 39
paulo@0 40 /*****************************************************************************/
paulo@0 41
paulo@0 42 /* TODO: prefix these suckers */
paulo@0 43 char *sha1_string (const unsigned char *sha1);
paulo@0 44 unsigned char *sha1_digest (const char *file, off_t size);
paulo@0 45 unsigned char *sha1_bin (const char *ascii);
paulo@0 46 unsigned char *sha1_dup (const unsigned char *sha1);
paulo@0 47
paulo@0 48 /*****************************************************************************/
paulo@0 49
paulo@0 50 void gt_sha1_init (sha1_state_t *state);
paulo@0 51 void gt_sha1_append (sha1_state_t *state, const void *data,
paulo@0 52 size_t len);
paulo@0 53 void gt_sha1_finish (sha1_state_t *state, unsigned char *hash);
paulo@0 54
paulo@0 55 /*****************************************************************************/
paulo@0 56
paulo@0 57 #endif /* GIFT_GT_SHA1_H_ */