ah me olvidaba para verificar hago esto:<div><br></div><div>Desde PHP</div><div><br></div><div><div>if ( isset( $_POST[&#39;txtUsuario&#39;] ) &amp;&amp; ( preg_match( &#39;/^[a-zA-Z0-9]{4,12}$/&#39;, $_POST[&#39;txtUsuario&#39;] ) &gt; 0 ) ) {</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>$usuario = trim( $_POST[&#39;txtUsuario&#39;] );</div><div>    } elseif ( isset( $_POST[&#39;txtUsuario&#39;] ) ) {</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>$mensaje = &#39;El usuario debe tener enre 4 y 12 caracters&#39;;</div>
<div>    }</div><div>    </div><div>    if ( isset( $_POST[&#39;txtClave&#39;] ) &amp;&amp; ( preg_match( &#39;/^[a-zA-Z0-9]{4,12}$/&#39;, $_POST[&#39;txtUsuario&#39;] ) &gt; 0 ) ) {</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>$password = md5( $_POST[&#39;txtClave&#39;] );</div>
<div>    } elseif ( isset( $_POST[&#39;txtClave&#39;] ) ) {</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>$mensaje = &#39;La clave debe tener entre 4 y 12 caracteres&#39;;</div><div>    }</div><div>
    </div><div>    if ( $usuario != &#39;&#39; &amp;&amp; $password != &#39;&#39; ) {</div><div>        $datos_usuario = dbLogin( DSN_ADMIN, $usuario, $password );</div><div>        </div><div>//<span class="Apple-tab-span" style="white-space:pre">        </span>print_r( $datos_usuario );</div>
<div>        </div><div><span class="Apple-tab-span" style="white-space:pre">        </span>if ( !is_array( $datos_usuario ) &amp;&amp; $datos_usuario != &#39;&#39; )</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>    $mensaje = $datos_usuario;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>elseif ( $datos_usuario == &#39;&#39; )</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>    $mensaje = &#39;USUARIO O CONTRASE&amp;Ntilde;A INCORRECTOS&#39;;</div>
<div>        else {</div><div>            $_SESSION[&#39;catalogo&#39;][&#39;dsn&#39;] = DSN_ADMIN;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>    $_SESSION[&#39;catalogo&#39;][&#39;usuario&#39;] = $datos_usuario; //id_usuario, nombre</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>    header( &#39;location: abm_categorias.php&#39; );</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>}</div><div>    } </div><div><br>
</div><div>__________________</div><div><br></div><div><div>function dbLogin( $str_dsn, $str_usuario, $str_clave ) {</div><div>        $cn =&amp; MDB2::connect( $str_dsn );</div><div>        if ( !PEAR::isError( $cn ) ) {</div>
<div>            $consulta = &#39;call &#39; . DB_DATABASE . &#39;.sp_login( &#39; . $cn-&gt;quote( $str_usuario, &#39;text&#39; ) . &#39;, &#39; . $cn-&gt;quote( $str_clave, &#39;text&#39; ) . &#39; );&#39;;</div><div>            $res = $cn-&gt;query( $consulta );</div>
<div>            if ( !PEAR::isError( $res ) )</div><div>                $salida = $res-&gt;fetchRow( MDB2_FETCHMODE_ASSOC );</div><div>                //$salida[&#39;id_user&#39;] y $salida[&#39;nombre&#39;]</div><div>            else</div>
<div>                $salida = $res-&gt;getDebugInfo();</div><div>            $cn-&gt;disconnect();</div><div>        } else</div><div>            $salida = $cn-&gt;getDebugInfo();</div><div>        </div><div>        return $salida;</div>
<div>    }</div></div><div><br></div><div>______________</div><div><br></div><div>Desde MYSQL</div><div><br></div><div><div>delimiter //</div><div>create procedure sp_login( IN usuario VARCHAR(12), IN clave CHAR(32) )</div>
<div>begin</div><div>    select id_user, nombre</div><div>    from TB_Usuarios</div><div>    where login = usuario and pass = clave</div><div>    limit 1;</div><div>end; //</div><div>delimiter ;</div><div>grant execute on procedure sp_login to cata_admin@localhost;</div>
</div><div><br></div><div><br></div><div><b>Yo trabajo usando stores y perl. Pero perfectamente podes hacerlo ejecuntando la query desde php con mysql_query</b></div><br><div class="gmail_quote">El 9 de septiembre de 2010 14:30, Maia Cordero <span dir="ltr">&lt;<a href="mailto:maiacordero@gmail.com">maiacordero@gmail.com</a>&gt;</span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div>Mmmm no se porque usaras una funcion de encriptación :S Yo uso MD5 a mi criterio es mas fácil de usar.</div><div>
<br></div><div>Desde PHP hago esto:</div><div><br></div>md5(trim($_POST[&#39;txtClave&#39;]))<div><br></div>
<div>y en la BD tengo un campo de este tipo:</div><div><br></div><div>clave char(32) not null</div><div><br></div><div>No contesto tu pregunta pero quizás una solución alternativa no te viene mal ;)<br><br><div class="gmail_quote">

El 9 de septiembre de 2010 14:15, Juan Pablo <span dir="ltr">&lt;<a href="mailto:jbarreto_92@hotmail.com" target="_blank">jbarreto_92@hotmail.com</a>&gt;</span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div></div><div class="h5">




<div style="padding-left:10px;padding-right:10px;padding-top:15px" name="Compose message area">
<div><font face="Calibri">Hola.<br>Les aclaro mi problema:<br><br>Tengo un sistema 
de usuarios q encripta la contraseña con la función  crypt(string 
$str  [, string $salt  ] )<br><br>Acá hice un script de prueba para 
probar todas las posibilidades.<br><br></font><font color="#339966" face="Calibri">$password = crypt(&quot;ASDASDASD10&quot;,&quot;mardelmusic&quot;); // let the salt be 
automatically generated<br>$usuario=&quot;ASDASDASD100&quot;;</font></div>
<div><font face="Calibri"></font> </div>
<div><font color="#339966" face="Calibri">if (crypt($usuario,&quot;mardelmusic&quot;) == 
$password) {<br>   echo &quot;Password verified!:&lt;br&gt;$password 
&lt;br&gt;&quot;.crypt($usuario,$password);<br>}else{echo&quot;Password 
falsa:&lt;br&gt;$password &lt;br&gt;&quot;.crypt($usuario,$password);}</font></div>
<div><font color="#339966" face="Calibri"></font> </div>
<div><font color="#339966" face="Calibri"></font> </div>
<div><font color="#000000" face="Calibri">Esto da verdadero. A pesar de que la 
contraseña q el usuario puso tenga un cero demás. Y cuando imprime las 
contraseñas, ambas coinciden. O sea q genera la misma contraseña con un 0 más... 
o varios (tambien probe con muchos y pasa lo mismo)</font></div>
<div><font face="Calibri"></font> </div>
<div><font face="Calibri">Entonces lo q decidí es sacarle la semilla.</font></div>
<div><font face="Calibri">En la prueba paso todo bien, pero cuando voy a mi 
script, falla, aunque las pass coincidan:</font></div>
<div><font face="Calibri"></font> </div>
<div><font color="#339966" face="Calibri">$pass_db=$data[&quot;usuario_pass&quot;];  //De 
la base de datos, que el usuario cargo cuando se registro. 
$usuario_pass=$_POST[&quot;pass&quot;];</font></div>
<div><font color="#339966" face="Calibri"></font> </div>
<div><font color="#339966" face="Calibri">f(crypt($usuario_pass,$pass_db) != 
$pass_db){</font></div>
<div><font color="#339966" face="Calibri">    ERROR!</font></div>
<div><font color="#339966" face="Calibri">}else{</font></div>
<div><font color="#339966" face="Calibri">    BIEN!</font></div>
<div><font color="#339966" face="Calibri">}</font></div>
<div><font face="Calibri"></font> </div>
<div><font face="Calibri">Lo más comico de todo, es que en el error pongo imprimir 
ambas contraseñas (base de datos y la encriptada del post) y son las dos 
iguales, pero son de la siguiente estructura:</font></div>
<div><font face="Calibri"></font> </div>
<div><font face="Calibri"><font color="#ff0000">$1$eM2.Pk3.$pDsUodej3nwxAkOVVQ0M21</font> </font></div>
<div><font color="#ff0000" face="Calibri"></font> </div>
<div><font color="#000000" face="Calibri">Entonces no se si el error lo ocasionan 
los $ $ o . . no se...</font></div>
<div><font face="Calibri"></font> </div>
<div><font face="Calibri">Gracias y nos vemos el miercoles!</font></div>
<div><font face="Calibri"></font> </div></div>
<br></div></div>_______________________________________________<br>
Php-avanzado mailing list<br>
<a href="mailto:Php-avanzado@pato2.fi.mdp.edu.ar" target="_blank">Php-avanzado@pato2.fi.mdp.edu.ar</a><br>
<a href="http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado" target="_blank">http://www3.fi.mdp.edu.ar/cgi-bin/mailman/listinfo/php-avanzado</a><br></blockquote></div><br></div>
</blockquote></div><br></div>