Foros del Web » Programando para Internet » PHP »

cifrar password

Estas en el tema de cifrar password en el foro de PHP en Foros del Web. hola a todos más o menos tengo una idea de como usar crypt(), pero cuando el usuario me acceda al sitio e inserte su contraseña, ...
  #1 (permalink)  
Antiguo 16/03/2015, 09:24
Avatar de GemliosG  
Fecha de Ingreso: enero-2015
Ubicación: La Habana
Mensajes: 153
Antigüedad: 9 años, 10 meses
Puntos: 8
cifrar password

hola a todos más o menos tengo una idea de como usar crypt(), pero cuando el usuario me acceda al sitio e inserte su contraseña, como la desencripto para que este pueda acceder
__________________
GemliosG
  #2 (permalink)  
Antiguo 16/03/2015, 09:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: cifrar password

Jamás se "desencripta", ese sería tu error, la idea es cifrar la contraseña que te dan para iniciar sesión y compararla contra lo que tienes en base de datos.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/03/2015, 10:19
Avatar de GemliosG  
Fecha de Ingreso: enero-2015
Ubicación: La Habana
Mensajes: 153
Antigüedad: 9 años, 10 meses
Puntos: 8
Respuesta: cifrar password

en otras palabras cuando el usuario acceda, le encripto la contraseña y entonces la comparo con la encriptada de la bd?
__________________
GemliosG
  #4 (permalink)  
Antiguo 16/03/2015, 10:31
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: cifrar password

Cita:
Iniciado por GemliosG Ver Mensaje
en otras palabras cuando el usuario acceda, le encripto la contraseña y entonces la comparo con la encriptada de la bd?
Has la prueba y nos dices si funciona.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 16/03/2015, 11:40
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años, 7 meses
Puntos: 23
Respuesta: cifrar password

Buenas,

disculpa que me meta, pero leyendo me a saltado una duda... ¿como le haria para enviarle al usuario un recordatorio de su contraseña si la olvida?

Saludos!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!
  #6 (permalink)  
Antiguo 16/03/2015, 11:47
Avatar de GemliosG  
Fecha de Ingreso: enero-2015
Ubicación: La Habana
Mensajes: 153
Antigüedad: 9 años, 10 meses
Puntos: 8
Respuesta: cifrar password

ok lo voy a probar
__________________
GemliosG
  #7 (permalink)  
Antiguo 16/03/2015, 12:05
 
Fecha de Ingreso: marzo-2015
Ubicación: Peru
Mensajes: 34
Antigüedad: 9 años, 8 meses
Puntos: 6
Respuesta: cifrar password

Dos respuesta en uno:

Para guardar una contraseña hay varias formas:
1: usando el md5() de php: esto te permite encriptar pero no desencriptar, al momento de guardar la contraseña seria: md5($_POST['contrasenia']) y para el login seria : haces un query a la base de dato del usuario con un select y comparas la contraseña versus el md5($POST['contrasenia']); en ambas partes primero estas encriptando;

2. Otro seria base64_encode() esto para encriptar y base64_decode() para desencriptar;

ambos no muy seguros.

3. Pero existen funciones que te permiten hacer una mejor encriptacion personalizados en donde debes recorrer cada caracter de la contraseña y concatenar con unas claves mas (por ejemplo: mi contraseña es 1234 entnces a cada caracter le agrego la palabra clave que puede ser goku, entonces seria 1goku2goku3gou4goku a esto le puedes combinar un md5() al resultado y luego guardarlos) pero como dice pateketrueke no se debe desencriptar:

Ahora la respuesta de HalconVigia: en el caso de que se olvide la contraseña.

eso depende de tu estructura como quieres trabajar, si tu quieres entregar la contraseña en caso de que se olvide, simplemente utiliza una funcion de combinar en el paso 3 y lo transformas con el paso 2 base64_encode() y base64_decode() pero recuerda que no es recomendable desencriptar por temas de seguridad;

Ahora si no quieres desencriptar simplemente que si el usuario se olvidó la contraseña lo único que tienes que hacer es enviar un correo con un enlace en donde antes ya verifico su usuario o correo electrónico con el que se registro para que el pueda crear otra contraseña.

Espero que mi respuesta sea entendible y si no entienden por favor consultarme.
  #8 (permalink)  
Antiguo 16/03/2015, 16:10
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: cifrar password

PHP dispone ahora de un API muy sencilla para hacer todo eso: http://php.net/password básicamente es usar password_hash para generar el hash, guardarlo en la DB, luego usar password_verify para verificar que coincida y es muy seguro.

No se recomienda usar md5 ya que es muy vulnerable.

Saludos.
  #9 (permalink)  
Antiguo 16/03/2015, 17:51
 
Fecha de Ingreso: enero-2009
Ubicación: España
Mensajes: 786
Antigüedad: 15 años, 10 meses
Puntos: 9
Respuesta: cifrar password

Cita:
Iniciado por HalconVigia Ver Mensaje
Buenas,

disculpa que me meta, pero leyendo me a saltado una duda... ¿como le haria para enviarle al usuario un recordatorio de su contraseña si la olvida?

Saludos!
Enviando un enlace al correo para generar una nueva contraseña y enviarla de nuevo al correo.

Etiquetas: cifrar, password
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:50.