md5.h 746 B

12345678910111213141516171819202122232425262728
  1. /* Src: https://github.com/Zunawe/md5-c, commit: f3529b6
  2. * License: Unlicense */
  3. #pragma once
  4. #ifndef MD5_H
  5. #define MD5_H
  6. #include <stdio.h>
  7. #include <stdint.h>
  8. #include <string.h>
  9. #include <stdlib.h>
  10. typedef struct{
  11. uint64_t size; // Size of input in bytes
  12. uint32_t buffer[4]; // Current accumulation of hash
  13. uint8_t input[64]; // Input to be used in the next step
  14. uint8_t digest[16]; // Result of algorithm
  15. }MD5Context;
  16. void md5Init(MD5Context *ctx);
  17. void md5Update(MD5Context *ctx, uint8_t *input, size_t input_len);
  18. void md5Finalize(MD5Context *ctx);
  19. void md5Step(uint32_t *buffer, uint32_t *input);
  20. void md5String(char *input, uint8_t *result);
  21. void md5File(FILE *file, uint8_t *result);
  22. #endif // MD5_H