Article View: es.comp.os.linux.programacion
Article #8149Re: Comprobar comtraseña
From: Fernando Arbeiza
Date: Tue, 17 Dec 2002 16:15
Date: Tue, 17 Dec 2002 16:15
61 lines
2839 bytes
2839 bytes
Hola:
S�lo puntualizar una cosita:
On Tue, 17 Dec 2002 15:32:46 +0100, Jose A <MAQUI000@.> wrote:
> // Dentro de este bloque if comprobamos el tipo de
> // password que se usa, si empieza por "$1$", es
> // del tipo md5, y copiamos los 11 primeros caracteres
> // del password que est�n formados por la identificaci�n
> // (3 caracteres) y la salt (8 caracteres), por ejemplo:
> // $1$aT���TjK
En las contrase�as MD5, me parece que la salt no tienen por qu� ser 8
caracteres (pueden ser menos). As� que creo que es mejor quitar ese if,
y meter directamente como salt el password cifrado original. Ya se
encarga crypt de separar el salt que haga falta y elegir el algoritmo.
Es decir:
> int main (int argc, char *argv[0]) {
char *pwd, *passwd, *tpwd;
> struct spwd *p;
>
> if (argc < 3) {
> printf ("Usar %s nombre password\n", argv[0]);
> exit (1);
> }
> // Bloqueamos el fichero "/etc/shadow" para que no se
> // modifique mientras accedemos a sus datos.
> lckpwdf ();
> p = getspnam (argv[1]);
> // Y aqu� lo desbloqueamos.
> ulckpwdf ();
>
> pwd = argv[2];
> passwd = p->sp_pwdp;
>
> // Aqu� se encripta la password pasada al programa y
> // a continuaci�n se compara con la almacenada en el
> // fichero "/etc/shadow".
tpwd = (char *) crypt (pwd, passwd);
> if (strcmp (tpwd, passwd) == 0) {
> printf ("Las password son iguales\n");
> } else {
> printf ("Las password son distintas\n");
> }
> return 0;
> }
Un saludo.
--
Fernando Arbeiza
arbeizaf [arroba(at)] ono [punto(dot)] com
LFS en castellano: <URL:http://www.escomposlinux.org/lfs-es>
Technical Details
Message-ID:
<slrnavujd0.fsn.direccion_en_la_firma.address_in_signature@jupiter.olimpo>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!proxad.net!peer1.news.newnet.co.uk!fu-berlin.de!uni-berlin.de!62.42.160.52!not-for-mailReferences:
<atgjct$13knnp$1@ID-129971.news.dfncis.de> <atncbv$k5m81@cesio.mundo-r.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,249be857bbf5a850 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2002-12-17 08:17:26 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!proxad.net!peer1.news.newnet.co.uk!fu-berlin.de!uni-berlin.de!62.42.160.52!not-for-mail From: Fernando Arbeiza <direccion_en_la_firma.address_in_signature@homelinux.org> Newsgroups: es.comp.os.linux.programacion Subject: Re: Comprobar comtraseña Date: Tue, 17 Dec 2002 17:15:28 +0100 Lines: 61 Message-ID: <slrnavujd0.fsn.direccion_en_la_firma.address_in_signature@jupiter.olimpo> References: <atgjct$13knnp$1@ID-129971.news.dfncis.de> <atncbv$k5m81@cesio.mundo-r.com> NNTP-Posting-Host: 62.42.160.52 Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit X-Trace: fu-berlin.de 1040141845 840037 62.42.160.52 (16 [148301]) X-Orig-Path: jupiter.olimpo!news User-Agent: slrn/0.9.7.4 (Linux)