Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

encriptacion md5

Estas en el tema de encriptacion md5 en el foro de Mysql en Foros del Web. Buenas, Tengo el siguiente inconveniente, tengo montado un server con mysql, y apache, el tema es que cuando genero la password, con el mysql, no ...
  #1 (permalink)  
Antiguo 16/12/2009, 17:42
 
Fecha de Ingreso: julio-2009
Mensajes: 30
Antigüedad: 14 años, 8 meses
Puntos: 0
encriptacion md5

Buenas, Tengo el siguiente inconveniente, tengo montado un server con mysql, y apache, el tema es que cuando genero la password, con el mysql, no me la encripta bien, es decir, despues quiero ingresar con phpmyadmin, y no me reconoce la password, pero si ingreso con mysql -u root -p me la toma lo mas bien, ahora, si yo uso otra pc, que tiene windows xp, genero las password Y las ingreso en la base de datos por medio de un update, puedo ingresar lo mas bien. por lo cual llegue a la conclucion que lo q me esta jodiendo es la encriptacion, de mysql en las password, alguno tiene idea como solucionarlo!?

UPDATE mysql.user SET Password=PASSWORD('123') WHERE User='root';
  #2 (permalink)  
Antiguo 16/12/2009, 18:18
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: encriptacion md5

Es muy posible que estés haciendo un mal uso de las password en MySQL.

MySQL tiene su propio sistema de encriptación, que no es un MD5 ni nada parecido, por lo que bien puede suceder que en realidad estés ingresando incorrectamente el login. Además el sistema de login de MySQL es sensible, como debes saber, a MAYUSCULAS/minúsculas, por lo que debes tener cuidado al loguear.
Cita:
el tema es que cuando genero la password,
No es buena costumbre generar manualmente las password , al menos en el sentido que pareces decir, por cuanto MySQL ya cuenta con métodos para ello, que no usan UPDATE. Para eso está la cláusula IDENTIFIED BY en la creación de los usuarios.

Explica un poco mejor, y si es posible posteando los mensajes de error que MySQL devuelve cuando fracasan los login. Será posible entonces darte una idea, pero desde ya te anticipo algo: SI la creación del usuario es correcta, y le has dado los permisos correspondientes, el fracaso del login no es una falla de MySQL, sino del usuario, que está ingresando mal los datos.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 16/12/2009, 18:53
 
Fecha de Ingreso: julio-2009
Mensajes: 30
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: encriptacion md5

los permisos, estan bien!, el tema de la encriptacion, se que no usa md5 pero, no sabia bien como explicalo..errores no da!. lo unico q dice, es password incorrecta

Bienvenido a phpMyAdmin 2.10.3

El nombre de usuario o la contraseña está equivocado. El acceso fue denegado.

sim embargo se q la clave esta bien, lo raro, es que si genero la clave con el update en la otra pc, copio la password, encriptada, y la pego, en la otra base de datos funciona.

ahora..cuando la genero..en la pc q funciona mal, me genera otra clave, y no m funciona.

en cuanto a los permisos, los tiene todos.

yo creo q tiene q ver con la funcion, PASSWORD que es lo q usa mysql para encriptar la clave

Última edición por xchavezx; 16/12/2009 a las 19:01
  #4 (permalink)  
Antiguo 17/12/2009, 04:31
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: encriptacion md5

Si te dice que el username que usas es incorrecto, verifica, usando el root, cuáles son los que están activos en realidad y cuáles son los que tienen permisos.
Además, dinos qué versión de MySQL usas... (no del PhpMyAdmin, eso no es MySQL), y trata de no usar UPDATE para manejar las claves. Usa las funciones de usuario que MySQL tiene. Para eso existen...

Si MySQL te responde que el usuario o password es incorrecto, es porque no los puede validar. Algo está mal, y no es que MySQL cometa errores: O la interfase no es la correcta, o bien las claves/username no son los correctos.
La seguridad de claves de MySQL es muy eficiente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 17/12/2009, 05:11
Avatar de Valery-Net  
Fecha de Ingreso: agosto-2008
Mensajes: 694
Antigüedad: 15 años, 7 meses
Puntos: 12
Respuesta: encriptacion md5

Estará relacionado a la configuración de "OLD PASSWORD"?

Prueba así:


Cita:
PDATE mysql.user SET Password=OLD_PASSWORD('123') WHERE User='root';
  #6 (permalink)  
Antiguo 17/12/2009, 05:20
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: encriptacion md5

Cita:
Iniciado por Valery-Net Ver Mensaje
Estará relacionado a la configuración de "OLD PASSWORD"?

Prueba así:
Hay que tener cuidado con eso, Valery-Net, porque eso dependerá de qué versión de MySQL está usando, cosa que no ha aclarado aún.

Si es cierto que el problema de la longitud del password puede tener algo que ver. Recordemos lo que dice el manual de referencia:
Cita:
Antes de MySQL 4.1, los hashes de contraseñas computados por la función PASSWORD() tienen una longitud de 16 bytes. Tales hashes tienen este aspecto:
Código MySQL:
Ver original
  1. mysql> SELECT PASSWORD('mypass');
  2. +--------------------+
  3. | PASSWORD('mypass') |
  4. +--------------------+
  5. | 6f8c114b58f2ce9e   |
  6. +--------------------+

La columna Password de la tabla user (en la que se guardan los hashes) también tiene una longitud de 16 bytes antes de MySQL 4.1.

En MySQL 4.1, la función PASSWORD() se modificó para producir un valor hash más largo de 41-bytes:

Código MySQL:
Ver original
  1. mysql> SELECT PASSWORD('mypass');
  2. +-----------------------------------------------+
  3. | PASSWORD('mypass')                            |
  4. +-----------------------------------------------+
  5. | *43c8aa34cdc98eddd3de1fe9a9c2c2a9f92bb2098d75 |
  6. +-----------------------------------------------+
Por consiguiene, la columna Password en la tabla user debe tener una longitud de 41 bytes para almacenar estos valores:
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
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 07:29.