home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / crypl200.zip / HASH / SHA.H < prev    next >
Text File  |  1996-06-23  |  964b  |  33 lines

  1. #ifndef _SHA_DEFINED
  2.  
  3. #define _SHA_DEFINED
  4.  
  5. /* The SHS block size and message digest sizes, in bytes */
  6.  
  7. #define SHA_DATASIZE    64
  8. #define SHA_DIGESTSIZE    20
  9.  
  10. /* The structure for storing SHA info */
  11.  
  12. typedef struct {
  13.                LONG digest[ 5 ];            /* Message digest */
  14.                LONG countLo, countHi;        /* 64-bit bit count */
  15.                LONG data[ 16 ];                /* SHS data buffer */
  16. #ifdef _BIG_WORDS
  17.                BYTE dataBuffer[ SHA_DATASIZE ];    /* Byte buffer for data */
  18. #endif /* _BIG_WORDS */
  19.                BOOLEAN done;                /* Whether final digest present */
  20.                BOOLEAN isSHA;                /* Whether to use SHA */
  21.                } SHA_INFO;
  22.  
  23. /* Message digest functions */
  24.  
  25. void shaInitial( SHA_INFO *shaInfo );
  26. void shaUpdate( SHA_INFO *shaInfo, BYTE *buffer, int count );
  27. void shaFinal( SHA_INFO *shaInfo );
  28. void sha1Initial( SHA_INFO *shaInfo );
  29. void sha1Update( SHA_INFO *shaInfo, BYTE *buffer, int count );
  30. void sha1Final( SHA_INFO *shaInfo );
  31.  
  32. #endif /* _SHA_DEFINED */
  33.