#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
char *crypt(const char *key, const char *salt);
extern char *getpass();
void stripnl(char *str);
int main() {
char salt[3];
char *password;
char encpasswd[15];
printf("Enter encrypted password string: ");
fgets(encpasswd, sizeof(encpasswd), stdin);
stripnl(encpasswd);
salt[0] = encpasswd[0];
salt[1] = encpasswd[1];
salt[2] = 0;
password = getpass("Enter the password: ");
if(!strcmp(crypt(password, salt), encpasswd))
printf("Password validated.\n");
else
printf("Password not valid.\n");
}
void stripnl(char *str) {
while(strlen(str) && ( (str[strlen(str) - 1] == 13) ||
( str[strlen(str) - 1] == 10 ))) {
str[strlen(str) - 1] = 0;
}
}