#define SHS_DIGEST_SIZE 20
#define SHS_OUTPUT_SIZE 120
char * shs_crypt(const unsigned char * pw,
                 const Int pl,
                 const unsigned char * sp,
                 const Int sl,
                 char * passwd);
cStr * strcrypt(cStr * str, cStr * seed);
Int match_crypted(cStr * encrypted, cStr * possible);
/*
// SHS stuff
*/
#ifdef _SHS_include_
typedef struct {
  uInt H[5];
  uInt W[80];
  Int lenW;
  uInt sizeHi,sizeLo;
} SHS_CTX;
void shsInit(SHS_CTX *ctx);
void shsUpdate(SHS_CTX *ctx, const uChar *dataIn, Int len);
void shsFinal(SHS_CTX *ctx, uChar hashOut[20]);
#ifdef LINT
void shsBlock(const uChar *dataIn, Int len, uChar hashOut[20]);
#endif
#endif