home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 July & August / Pcwk78a98.iso / Wtestowe / Clico / UNIX / SAMBA / SOURCE / SAMBA.TAR / samba-1.9.17 / source / md4.h < prev    next >
C/C++ Source or Header  |  1996-05-04  |  2KB  |  59 lines

  1. /*
  2.    This code is from rfc1186. 
  3. */
  4.  
  5.  /*
  6.  ** ********************************************************************
  7.  ** md4.h -- Header file for implementation of                        **
  8.  ** MD4 Message Digest Algorithm                                      **
  9.  ** Updated: 2/13/90 by Ronald L. Rivest                              **
  10.  ** (C) 1990 RSA Data Security, Inc.                                  **
  11.  ** ********************************************************************
  12.  */
  13.  
  14.  /* MDstruct is the data structure for a message digest computation.
  15.  */
  16.  typedef struct {
  17.    unsigned int buffer[4]; /* Holds 4-word result of MD computation */
  18.    unsigned char count[8]; /* Number of bits processed so far */
  19.    unsigned int done;      /* Nonzero means MD computation finished */
  20.  } MDstruct, *MDptr;
  21.  
  22.  /* MDbegin(MD)
  23.  
  24.  
  25.  
  26.  ** Input: MD -- an MDptr
  27.  ** Initialize the MDstruct prepatory to doing a message digest
  28.  ** computation.
  29.  */
  30.  extern void MDbegin();
  31.  
  32.  /* MDupdate(MD,X,count)
  33.  ** Input: MD -- an MDptr
  34.  **        X -- a pointer to an array of unsigned characters.
  35.  **        count -- the number of bits of X to use (an unsigned int).
  36.  ** Updates MD using the first "count" bits of X.
  37.  ** The array pointed to by X is not modified.
  38.  ** If count is not a multiple of 8, MDupdate uses high bits of
  39.  ** last byte.
  40.  ** This is the basic input routine for a user.
  41.  ** The routine terminates the MD computation when count < 512, so
  42.  ** every MD computation should end with one call to MDupdate with a
  43.  ** count less than 512.  Zero is OK for a count.
  44.  */
  45.  extern void MDupdate();
  46.  
  47.  /* MDprint(MD)
  48.  ** Input: MD -- an MDptr
  49.  ** Prints message digest buffer MD as 32 hexadecimal digits.
  50.  ** Order is from low-order byte of buffer[0] to high-order byte
  51.  ** of buffer[3].
  52.  ** Each byte is printed with high-order hexadecimal digit first.
  53.  */
  54.  extern void MDprint();
  55.  
  56.  /*
  57.  ** End of md4.h
  58.  */
  59.