md5.h
上传用户:s81996212
上传日期:2007-01-04
资源大小:722k
文件大小:1k
源码类别:

WEB邮件程序

开发平台:

C/C++

  1. #ifndef md5_h
  2. #define md5_h
  3. /*
  4. ** Copyright 1998 - 1999 Double Precision, Inc.
  5. ** See COPYING for distribution information.
  6. */
  7. /*
  8. ** RFC 1321 MD5 Message digest calculation.
  9. **
  10. ** Returns a pointer to a sixteen-byte message digest.
  11. */
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. #if HAVE_CONFIG_H
  16. #include "config.h"
  17. #endif
  18. #if HAVE_SYS_TYPES_H
  19. #include <sys/types.h>
  20. #endif
  21. #if HAVE_SYNCH_H
  22. #include <synch.h>
  23. #endif
  24. #ifdef HAVE_U_INT32_T
  25. #define MD5_WORD u_int32_t
  26. #else
  27. #ifdef HAVE_UINT32_T
  28. #define MD5_WORD uint32_t
  29. #else
  30. #define MD5_WORD unsigned long
  31. #endif
  32. #endif
  33. #define MD5_DIGEST_SIZE 16
  34. #define MD5_BLOCK_SIZE 64
  35. typedef unsigned char MD5_DIGEST[MD5_DIGEST_SIZE];
  36. #ifdef MD5_INTERNAL
  37. struct MD5_CONTEXT {
  38. MD5_WORD A, B, C, D;
  39. unsigned char blk[MD5_BLOCK_SIZE];
  40. unsigned blk_ptr;
  41. } ;
  42. void md5_context_init(struct MD5_CONTEXT *);
  43. void md5_context_hash(struct MD5_CONTEXT *,
  44. const unsigned char[MD5_BLOCK_SIZE]);
  45. void md5_context_hashstream(struct MD5_CONTEXT *, const void *, unsigned);
  46. void md5_context_endstream(struct MD5_CONTEXT *, unsigned long);
  47. void md5_context_digest(struct MD5_CONTEXT *, MD5_DIGEST);
  48. void md5_context_restore(struct MD5_CONTEXT *, const MD5_DIGEST);
  49. #endif
  50. void md5_digest(const void *msg, unsigned int len, MD5_DIGEST);
  51. char *md5_crypt_redhat(const char *, const char *);
  52. #define md5_crypt md5_crypt_redhat
  53. const char *md5_hash(const char *);
  54. #ifdef __cplusplus
  55. } ;
  56. #endif
  57. #endif