El Mon, Sep 04, 2000 at 08:12:50PM +0200, Jaime Fern�ndez Mart�nez dijo:
> Pretendo hacer un programilla en PHP que autentifique usuarios a trav�s
> de una copia reducida de /etc/shadows.
> Para ello utilizo la funci�n de PHP 'crypt(contrase�a, semilla)' y
> comparo con el valor almacenado. Mi gran duda es: �de d�nde obtengo la
> semilla? He probado con los 2 primeros caracteres de la contrase�a
> encriptada, pero s�lo me identifica las que est� vac�as :-(. He buscado
> documentaci�n por muchos sitios (incluso he intentado leer las fuentes
> de passwd.c), pero no lo acabo de ver.
> Por otra parte, si alg�n usuario/programador m�s avezado en Apache/PHP
> sugiere otro m�todo de verificaci�n de usuario/contrase�a se agradece
> tambi�n.
Pues yo me v� en un problema similar con el CVS, ten�a que hacer un programita
en C que me encriptase claves, por que el cvs no encripta.
Sacado de la man crypt(3)
"salt is a two-character string chosen from the set
[a-zA-Z0-9./]"
Lo que hice es cojer como semilla el tiempo actual, transformando esta semilla
para que pertenezca al conjunto anterior, quedando lista para pasarla a crypt().
Una vez obtenido el passwd encriptado lo pon�a en el fichero CVS/passwd.
Para comprobar el passwd, cojes los dos primeros caracteres de el pw del
fichero( la semilla que calculaste ) y "cryptas" el pw a comprobar con dicha
semilla.
Si coninciden lo cryptado, con lo que tienes en el fichero pues la clave es
buena.
Bueno espero haberte ayudado.
>
> --
> Unsubscribe? mail -s unsubscribe [EMAIL PROTECTED] < /dev/null
>