Source code pulled from OpenBSD for OpenNTPD. The place to contribute to this code is via the OpenBSD CVS tree.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.1 KiB

  1. /* $OpenBSD: sha1.h,v 1.9 1999/02/03 03:13:18 angelos Exp $ */
  2. /*
  3. * SHA-1 in C
  4. * By Steve Reid <steve@edmweb.com>
  5. * 100% Public Domain
  6. */
  7. #ifndef _SHA1_H
  8. #define _SHA1_H
  9. typedef struct {
  10. u_int32_t state[5];
  11. u_int32_t count[2];
  12. u_char buffer[64];
  13. } SHA1_CTX;
  14. void SHA1Transform __P((u_int32_t state[5], const u_char buffer[64]));
  15. void SHA1Init __P((SHA1_CTX *context));
  16. void SHA1Update __P((SHA1_CTX *context, const u_char *data, u_int len));
  17. void SHA1Final __P((u_char digest[20], SHA1_CTX *context));
  18. char *SHA1End __P((SHA1_CTX *, char *));
  19. char *SHA1File __P((char *, char *));
  20. char *SHA1Data __P((const u_char *, size_t, char *));
  21. #define SHA1_DIGESTSIZE 20
  22. #define SHA1_BLOCKSIZE 64
  23. #define HTONDIGEST(x) { \
  24. x[0] = htonl(x[0]); \
  25. x[1] = htonl(x[1]); \
  26. x[2] = htonl(x[2]); \
  27. x[3] = htonl(x[3]); \
  28. x[4] = htonl(x[4]); }
  29. #define NTOHDIGEST(x) { \
  30. x[0] = ntohl(x[0]); \
  31. x[1] = ntohl(x[1]); \
  32. x[2] = ntohl(x[2]); \
  33. x[3] = ntohl(x[3]); \
  34. x[4] = ntohl(x[4]); }
  35. #endif /* _SHA1_H */