On Wed, Nov 29, 2000 at 12:51:40PM +0100, Jens Puruckherr wrote:
Hallo,
Ich will auf einem WEB-system ein Login bauen, welches mit dem vorhandenen Unix-passwordfile funktioniert. Wie kann ich aus dem eingegebenen Klartextpasswort ein Unixpassword verschlüsseln, um es dann mit dem richtigen zu vergleichen??
Ein kleines Beispiel:
int login(char *user, char *passwd) { struct passwd *pw; char *epasswd;
// existiert Benutzer in /etc/passwd? if ((pw = getpwnam(user)) == NULL) { return -1; }
// sollte kein Passwort definiert sein if (pw->pw_passwd == '\0') { return 0; }
// eingegebenes Passwort verschlüsseln und vergleichen epasswd = crypt(passwd, pw->pw_passwd); if (!strcmp(epasswd, pw->pw_passwd)) { return 0; } else { return -1; } }
Dieser Ausschnitt steht unter der GPL ;)
Ciao, Tobias