#include #include "random.h" #include "externs.h" #include "strings.h" #include "pw-crypt.h" extern char *crypt(const char *, const char *); int pw_crypt_check(const char *pass, const char *plain) { char salt[3]; salt[0] = pass[0]; salt[1] = pass[1]; salt[2] = '\0'; return(strcmp(pass,crypt(plain,salt))); } char *pw_crypt_make(const char *plain) { static char salt_chars[] = "abcdefghijklmnop" "qrstuvwxyzABCDEF" "GHIJKLMNOPQRSTUV" "WXYZ1234567890./"; char salt[3]; char *tmp; if (!plain) return(0); salt[0] = salt_chars[rnd(64)]; salt[1] = salt_chars[rnd(64)]; salt[2] = '\0'; tmp = malloc(14); strcpy(tmp,crypt(plain,salt)); return(tmp); }