util_md5.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /* Licensed to the Apache Software Foundation (ASF) under one or more
  2. * contributor license agreements. See the NOTICE file distributed with
  3. * this work for additional information regarding copyright ownership.
  4. * The ASF licenses this file to You under the Apache License, Version 2.0
  5. * (the "License"); you may not use this file except in compliance with
  6. * the License. You may obtain a copy of the License at
  7. *
  8. * http://www.apache.org/licenses/LICENSE-2.0
  9. *
  10. * Unless required by applicable law or agreed to in writing, software
  11. * distributed under the License is distributed on an "AS IS" BASIS,
  12. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. * See the License for the specific language governing permissions and
  14. * limitations under the License.
  15. */
  16. /**
  17. * @file util_md5.h
  18. * @brief Apache MD5 library
  19. *
  20. * @defgroup APACHE_CORE_MD5 MD5 Package Library
  21. * @ingroup APACHE_CORE
  22. * @{
  23. */
  24. #ifndef APACHE_UTIL_MD5_H
  25. #define APACHE_UTIL_MD5_H
  26. #ifdef __cplusplus
  27. extern "C" {
  28. #endif
  29. #include "apr_md5.h"
  30. /**
  31. * Create an MD5 checksum of a given string.
  32. * @param a Pool to allocate out of
  33. * @param string String to get the checksum of
  34. * @return The checksum
  35. */
  36. AP_DECLARE(char *) ap_md5(apr_pool_t *a, const unsigned char *string);
  37. /**
  38. * Create an MD5 checksum of a string of binary data.
  39. * @param a Pool to allocate out of
  40. * @param buf Buffer to generate checksum for
  41. * @param len The length of the buffer
  42. * @return The checksum
  43. */
  44. AP_DECLARE(char *) ap_md5_binary(apr_pool_t *a, const unsigned char *buf, int len);
  45. /**
  46. * Convert an MD5 checksum into a base64 encoding.
  47. * @param p The pool to allocate out of
  48. * @param context The context to convert
  49. * @return The converted encoding
  50. */
  51. AP_DECLARE(char *) ap_md5contextTo64(apr_pool_t *p, apr_md5_ctx_t *context);
  52. /**
  53. * Create an MD5 Digest for a given file.
  54. * @param p The pool to allocate out of
  55. * @param infile The file to create the digest for
  56. */
  57. AP_DECLARE(char *) ap_md5digest(apr_pool_t *p, apr_file_t *infile);
  58. #ifdef __cplusplus
  59. }
  60. #endif
  61. #endif /* !APACHE_UTIL_MD5_H */
  62. /** @} */