X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/355911106bc27f5504eb904a064367ef1b5f0aba..261442af210d652fc2c8a3d9197097982701bd16:/stglibs/crypto.lib/include/stg/ag_md5.h diff --git a/stglibs/crypto.lib/include/stg/ag_md5.h b/stglibs/crypto.lib/include/stg/ag_md5.h new file mode 100644 index 00000000..b278f97b --- /dev/null +++ b/stglibs/crypto.lib/include/stg/ag_md5.h @@ -0,0 +1,37 @@ +#ifndef _MD5_H +#define _MD5_H + +#include + +#include "stg/os_int.h" + +#ifdef __cplusplus +extern "C" { +#endif + +struct MD5Context { + uint32_t buf[4]; + uint32_t bits[2]; + unsigned char in[64]; +}; + +typedef struct MD5Context MD5_CTX; + +char *crypt_make_salt(void); +void byteReverse(unsigned char*, unsigned); +void MD5Init(struct MD5Context *ctx); +void MD5Update(struct MD5Context*, char const*, unsigned); +void MD5Final(unsigned char digest[16], struct MD5Context *ctx); +void MD5Transform(uint32_t buf[4], uint32_t const in[16]); +char *libshadow_md5_crypt(const char*, const char*); +char *pw_encrypt(const char*, const char*); + +/* AG functions */ +char *make_ag_hash(time_t salt, const char *clear); +int check_ag_hash(time_t salt, const char *clear, const char *hash); + +#ifdef __cplusplus +} +#endif + +#endif