Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/09/2012, 11:09
DoHITB
 
Fecha de Ingreso: abril-2012
Ubicación: 41°37′00″N, 00°37′00″E
Mensajes: 462
Antigüedad: 12 años, 7 meses
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