]> git.stg.codes - stg.git/blob - stglibs/crypto.lib/ag_md5.h
Allow to use virtual inheritance on SETTINGS for testing purposes
[stg.git] / stglibs / crypto.lib / ag_md5.h
1 #ifndef _MD5_H
2 #define _MD5_H
3
4 #include <ctime>
5
6 #include "stg/os_int.h"
7
8 struct MD5Context {
9         uint32_t buf[4];
10         uint32_t bits[2];
11         unsigned char in[64];
12 };
13
14 typedef struct MD5Context MD5_CTX;
15
16 char *crypt_make_salt(void);
17 void byteReverse(unsigned char*, unsigned);
18 void MD5Init(struct MD5Context *ctx);
19 void MD5Update(struct MD5Context*, char const*, unsigned);
20 void MD5Final(unsigned char digest[16], struct MD5Context *ctx);
21 void MD5Transform(uint32_t buf[4], uint32_t const in[16]);
22 /* static void to64(char*, unsigned long, int); */
23 char *libshadow_md5_crypt(const char*, const char*);
24 char *pw_encrypt(const char*, const char*);
25
26 /* AG functions */
27 char *make_ag_hash(time_t salt, const char *clear);
28 int check_ag_hash(time_t salt, const char *clear, const char *hash);
29
30 #endif /* _MD5_H */