home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / pppd / md4.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-06-29  |  2.1 KB  |  65 lines

  1.  
  2. /*
  3. ** ********************************************************************
  4. ** md4.h -- Header file for implementation of                        **
  5. ** MD4 Message Digest Algorithm                                      **
  6. ** Updated: 2/13/90 by Ronald L. Rivest                              **
  7. ** (C) 1990 RSA Data Security, Inc.                                  **
  8. ** ********************************************************************
  9. */
  10.  
  11. #ifndef __P
  12. # if defined(__STDC__) || defined(__GNUC__)
  13. #  define __P(x) x
  14. # else
  15. #  define __P(x) ()
  16. # endif
  17. #endif
  18.  
  19.  
  20. /* MDstruct is the data structure for a message digest computation.
  21. */
  22. typedef struct {
  23.     unsigned int buffer[4]; /* Holds 4-word result of MD computation */
  24.     unsigned char count[8]; /* Number of bits processed so far */
  25.     unsigned int done;      /* Nonzero means MD computation finished */
  26. } MD4_CTX;
  27.  
  28. /* MD4Init(MD4_CTX *)
  29. ** Initialize the MD4_CTX prepatory to doing a message digest
  30. ** computation.
  31. */
  32. extern void MD4Init __P((MD4_CTX *MD));
  33.  
  34. /* MD4Update(MD,X,count)
  35. ** Input: X -- a pointer to an array of unsigned characters.
  36. **        count -- the number of bits of X to use (an unsigned int).
  37. ** Updates MD using the first "count" bits of X.
  38. ** The array pointed to by X is not modified.
  39. ** If count is not a multiple of 8, MD4Update uses high bits of
  40. ** last byte.
  41. ** This is the basic input routine for a user.
  42. ** The routine terminates the MD computation when count < 512, so
  43. ** every MD computation should end with one call to MD4Update with a
  44. ** count less than 512.  Zero is OK for a count.
  45. */
  46. extern void MD4Update __P((MD4_CTX *MD, unsigned char *X, unsigned int count));
  47.  
  48. /* MD4Print(MD)
  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 MD4Print __P((MD4_CTX *));
  55.  
  56. /* MD4Final(buf, MD)
  57. ** Returns message digest from MD and terminates the message
  58. ** digest computation.
  59. */
  60. extern void MD4Final __P((unsigned char *, MD4_CTX *));
  61.  
  62. /*
  63. ** End of md4.h
  64. ****************************(cut)***********************************/
  65.