Foros del Web » Programando para Internet » PHP »

Login encriptar

Estas en el tema de Login encriptar en el foro de PHP en Foros del Web. Buen dia para todos. Mi problema es el siguiente: Estoy haciendo un login, yo quiero que el nombre de usuario y contraseña me distinga mayusculas ...
  #1 (permalink)  
Antiguo 08/09/2012, 10:06
Avatar de Jorge1801  
Fecha de Ingreso: julio-2011
Ubicación: Colombia
Mensajes: 54
Antigüedad: 12 años, 9 meses
Puntos: 2
Login encriptar

Buen dia para todos.

Mi problema es el siguiente:

Estoy haciendo un login, yo quiero que el nombre de usuario y contraseña me distinga mayusculas y minusculas y al mismo tiempo tenga encriptada la contraseña.

En mi base de datos ya intente colocando el nombre de usuario y contraseña con cotejamiento utf8_bin y encriptando la contraseña con md5. Pero al comparar la contraseña que se envía del formulario (encriptada tambien con md5) con la contraseña de la base de datos no me devuelve filas.
  #2 (permalink)  
Antiguo 08/09/2012, 10:28
Avatar de ramiro_md  
Fecha de Ingreso: septiembre-2008
Mensajes: 274
Antigüedad: 15 años, 7 meses
Puntos: 26
Respuesta: Login encriptar

Bueno, creo que eso no es un problema. Si vos queres decir que "Hugo" no es igual que "hugo". MySQL y PHP son case sensitive, es decir, diferencian entre mayús y minúsc.
Podrías colocar tus códigos para ver bien tu lógica.
Saludos.
  #3 (permalink)  
Antiguo 08/09/2012, 11:09
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Login encriptar

Hola Jorge.

Según parece quieres encriptar cosas con un hash simple (en este caso md5), y a la vez mantener un sistema case sensitive.

Pues bien, lo bueno de los hash es que cada valor de digest es diferente para cada valor de entrada. Usando un ejemplo real:

Código:
md5(hola) -> 4d186321c1a7f0f354b297e8914ab240
md5(HolA) -> d4fa99092b02aa32703bb8dab17b9da9
El tema de cambiar el cotejamiento a utf8_bin... yo siempre uso utf_unicode_ci y me funciona bien con los hash.

Tienes que tener en cuenta los siguientes aspectos que puede que olvides alguno sin querer:

- Guardar como VARCHAR de longitud adecuada (32 para md5)
- Buscar el dato encriptado con dato encriptado (por ejemplo en el where -> where campo = md5($variable))

- Si pones el valor directamente sobre el where, recuerda ponerlo entre comillas.

Espero te haya ayudado. Saludos
  #4 (permalink)  
Antiguo 08/09/2012, 16:55
Avatar de Jorge1801  
Fecha de Ingreso: julio-2011
Ubicación: Colombia
Mensajes: 54
Antigüedad: 12 años, 9 meses
Puntos: 2
Respuesta: Login encriptar

Cita:
Iniciado por DoHITB Ver Mensaje
Hola Jorge.

Según parece quieres encriptar cosas con un hash simple (en este caso md5), y a la vez mantener un sistema case sensitive.

Pues bien, lo bueno de los hash es que cada valor de digest es diferente para cada valor de entrada. Usando un ejemplo real:

Código:
md5(hola) -> 4d186321c1a7f0f354b297e8914ab240
md5(HolA) -> d4fa99092b02aa32703bb8dab17b9da9
El tema de cambiar el cotejamiento a utf8_bin... yo siempre uso utf_unicode_ci y me funciona bien con los hash.

Tienes que tener en cuenta los siguientes aspectos que puede que olvides alguno sin querer:

- Guardar como VARCHAR de longitud adecuada (32 para md5)
- Buscar el dato encriptado con dato encriptado (por ejemplo en el where -> where campo = md5($variable))

- Si pones el valor directamente sobre el where, recuerda ponerlo entre comillas.

Espero te haya ayudado. Saludos


Muchas gracias, me guió bastante lo que me dijiste.

Lo que hice fue lo siguiente en el campo contraseña le coloque VARCHAR(50) de cotejamiento utf8_bin (para que me distinga las mayusculas y minusculas).

Mi error era que antes le colocaba como tipo de dato VARCHAR(20), entonces al almacenar una contraseña con md5 sobrepasaba la longitud.
  #5 (permalink)  
Antiguo 09/09/2012, 10:02
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años
Puntos: 33
Respuesta: Login encriptar

Me alegro que se arreglase. A veces la solución es tan simple que la obviamos...

Saludos!

Etiquetas: encriptar, formulario, login, usuarios
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 11:00.