38 lines
1.2 KiB
C
38 lines
1.2 KiB
C
#ifndef CRYPT_H
|
|
#define CRYPT_H
|
|
|
|
/* Number of bytes in salt (raw, fully used, not printable-encoded bytes).
|
|
* This is configurable, but don't set it too high (up to say 10). But 4
|
|
* is plenty really, 2^32 salts possible (the DES-style crypt used only 4096).
|
|
*/
|
|
#define MD5_SALTLEN 4
|
|
|
|
/* Magic string, used in hashing. Configurable. */
|
|
#define MD5_MAGIC "xyzz"
|
|
|
|
/* Maximum length (in bytes) of digested data.
|
|
* This is /not/ configurable! Don't change it.
|
|
*/
|
|
#define MD5_MAXLEN 55
|
|
|
|
/* This salt value is used in generating salts. It must
|
|
* be a valid salt as returned by md5crypt(), or the
|
|
* routine will go into an infinite loop when generating
|
|
* a salt from an unrecognized string. Any value returned
|
|
* from md5crypt("anything", NULL, NULL) is valid here.
|
|
*/
|
|
|
|
#define MD5_VALID_SALT "anhlklck!ggddl`l`lg`bjblodlfcljdcnhffib`c"
|
|
|
|
typedef unsigned char BytE;
|
|
|
|
char *custom_crypt(const char *key, const char *salt, unsigned char *rawout);
|
|
|
|
int MD5Digest ( BytE *, unsigned long buflen, BytE *);
|
|
int encode ( unsigned char *, BytE *, int );
|
|
void decode ( unsigned char *, BytE *, int );
|
|
void getsalt (BytE *, BytE * );
|
|
void crunchbuffer (BytE *buf, SIGNED int *, char *, SIGNED int, int );
|
|
|
|
#endif
|