Función password en php

Buenas tardes comunidad, una ves mas necesitando de su ayuda. estoy trabajando con php y mysql, tengo un formulario que inserta datos en una bd...

La FAQ Función password en php tiene

Pertenece a la categoría:
Pregunta
Buenas tardes comunidad, una ves mas necesitando de su ayuda.


estoy trabajando con php y mysql, tengo un formulario que inserta datos en una bd de mysql, utilizo la funcion password e inserta el password encriptado en la tabla,,,pero al hacer la comprobacion para acceso a un sitio no funciona la funcion password,,,es decir no encripta para comprobar con el dato almacenado en la tabla.......cuando no utilizo la funcion el acceso funciona ok.


PD: como hago para encriptar el password en el formulario, es decir cuando se introduzca el paswwor en el formulario ejemplo prueba, no aparezca la palabra sino en forma de asteriscos....

Respuesta de Marco Antonio Camarena
Hola

Tu duda entonces no es en cuanto a PHP sino a HTML. Entiendo que haces dos preguntas, así que escribiré lo que te entendí y te responderé a eso.

1. ¿Cómo hago para que al entrar a la página que contiene el formulario, el contenido del campo de contraseña aparezca con ** o con ••?

Debes colocar como type "password" así:

<input type="password" name="clave" size="20" />

Esto no influye en cómo se recibe en php, ya que $_POST['clave'] será el texto tal como se escribió SIN CODIFICAR.

2. ¿Cómo puedo codificar una contraseña en php para guardarla en la base de datos?

Bien, si lo quieres hacer como novato, puedes dejarla sin codificar. Si lo quieres hacer a la antigua puedes hacer algo como $claveCodificada = md5($_POST['clave']);. Si lo quieres hacer de una forma más segura sin complicarte, puedes hacer algo como $claveCodificada = sha1($_POST['clave']);


Mencionas una función password, eso no existe en php, a menos que tengas una hecha por ti mismo.

Nota: las funciones md5 y sha1 no tienen regreso, así que para comparar las contraseñas deberás SIEMPRE codificarlas para comparar ambos resultados codificados.

Ejemplo:

if ($claveBaseDatos == sha1($_POST['clave'])) ...

Espero sea la información que necesitas. En todo caso, házmelo saber.

Saludos
Volver al árbol de categoríasVolver al árbol de categorías

Comentarios

Edison

21/5/2009
Encriptar / desencriptar
amigo,
Podrias crear una funcion que bien la puedes denominar password o lo que quieras.

Es facil hacer una funcion de encriptación, podrias utilizar el metodo de Cesar.

aqui te adjunto una funcion desarrollada por mi persona, espero te sirva.
////////////////////////////////////////////////////////////////////////////////
// Funciones de Encriptacion de datos
////////////////////////////////////////////////////////////////////////////////
function encripta($encrip,$Como,$Nav)
{
if($Nav==1)
$xnum=13;
else
$xnum=128;

$pesp=strlen($encrip);
$rtam=strlen(trim($encrip));
$a1=0;
$rresp='';
$rb='';
$rc='';
$rd='';
while ($a1<$rtam)
{
$rb=substr($encrip,$a1,1);
if ($Como)
$rc=ord($rb)+$xnum;
else
$rc=ord($rb)-$xnum;

$rd=chr($rc);
$rresp.=$rd;
$a1++;
}
$rresp=str_pad($rresp,strlen($rresp), " ", STR_PAD_LEFT);
return($rresp);
}
////////////////////////////////////////////////////////////////////////////////

Saludos,
Edison.

Huancavelicano

28/8/2014
encritar
-Es un exelente ayuda el tema de incriptacion, pero como puedo hacer...si por a y b me olvido mi contraseña.
-soy un estudiante que quiero ver mis notas finales que esta alojado en una entranet en dicha institucion ,pero me olvide mi password y no puedo ingresar,esto es un ejemlo que pongo. Pero la pagina es administrada por dicho personal profesional, este personal que administra debe acceder al reporte de usuarios y buscarme por mi nombre y/o código y puede ver mi password y pude dármelo.... en conclusión quiero desincriptar el passwor alojado en la db mysql..
aver si me ayudan con este tema. de antemano muchas gracias ala comunidad.
y
FAQ relacionadas
Volver al árbol de categoríasVolver al árbol de categorías