Ver Mensaje Individual
  #7 (permalink)  
Antiguo 29/06/2012, 23:29
Avatar de gnzsoloyo
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, 5 meses
Puntos: 2658
Respuesta: Problema con password de root en mysql

Cita:
Reportar Mensaje

Información Respuesta: Problema con password de root en mysql
No creo que mi sutiacion sea de otro foro....... Ya que el problema esta en mysql, ya que mysql me codifico o modifico la clave de root

como yo te comente utilice de password; dbadmin
y mysql lo modifico a: *354a2c82ffa72984ae659bf47bba109ef0d89ca5

la situacion es que necesito que en el registro aparezca como password dbadmin.

Una persona me comento que el password estaba encriptado y que buscara un procedimiento en internet para codificarlo a la palabra dbadmin pero no lo encontre es por eso que recurro a este foro.
Bueno, en este punto lo que te convendría, entonces, es estudiar lo que son los sistemas de administración de usuarios, y algo de seguridad en base de datos.
Vamos por partes:
Todos los sistemas de bases de datos almacenan las claves de los usuarios en forma encriptada, y JAMÁS lo hacen sin encriptación.
¿Motivo?
Fácil: Seguridad. Una clave sin encriptar en una tabla de la base, es una clave vulnerable, y el sistema es inseguro.
¿Se comprende el concepto?

Para evitar el acceso no autorizado, toda clave se encripta. Pero no sólo eso: La encriptación de MySQL es unidireccional, lo que significa que no tiene desencriptación. Por eso te digo que es MySQL ell que encripta y compara cuando haces el login. En otras palabras, el que te dijo que buscaras como revertirlo, no sabe de qué habla.
(Nota: El detalle de que es unidireccional aparece escrito en el manual de referencia oficial)
Pero todo eso es transparente (invisible) para el usuario y por eso toda tu preocupación por cómo lo guarda o como lo debería guardar no tiene ningún sentido. Lo único importante para el usuario es recordar cuál fue la clave que usó, para poder utilizarla otra vez y poder loguearse. Nada más.
Ahora bien, quiero que esto te quede claro: Jamás vas a lograr que en el registro te aparezca el texto original, porque esa tabla y su contenido de clave los administra MySQL y no tu. Y el algoritmo de encriptación está incrustado en el kernel de MySQL, por lo que no puedes suprimirlo (y no tendría sentido hacerlo).
Olvidate de eso, y preocupate por programar la conexión correctamente. El resto es irrelevante.
Cita:
Ahora bien me comentas que la tabla user no se toca entonces como le haria para crear otra tabla que contenga los nombres y password de los usuarios?
Bien, eso es otro terreno completamente diferente.
Es normal que una aplicación use su propio sistema de registración de usuarios, pero ten en cuenta que como no puedes reemplazar la gestión de usuarios de MySQL, de todos modos esos usuarios de aplicación (como se denominan), deberán loguearse en algún momento con un usuario de MySQL para acceder a los recursos de la base. Eso es inevitable.
Lo que se hace es usar un user que tenga muchos menos privilegios que el root (que no debe usarse para estos menesteres), pero sólo dentro de los scripts, y administrar el acceso al programa en PHP con los usuarios propios, registrados en una tabla que se crea para ello.
No te olvides: El que tu aplicación tenga una tabla de usuarios, no evita que par acceder a MySQL debas usar un user registrado EN MySQL.

¿Se va entendiendo?

Cita:
Espero no estar comentando alguna tonteria, pero para la conexion que tengo en php la configuracion esta correcta, ya que la aplicacion la empece en el curso y ahora que instale php, apache y mysql en casa me surgio el problema con mysql.
El asunto es simple: Si la conexión que pones en PHP está bien programada, y los parámetros son correctos, deberás poder conectarte. Si la conexión no se realiza, hay algún problema en el PHP, sea por clave, por user, por conector, por librería o por restricciones de puertos. Pero hay un problema allí,
El tema es saber si MySQL está devolviendo un error cuando intentas conectarte. Con eso sería mucho más sencillo saber qué es lo que pasa-
Captura el número de error o el mensaje, pero captura algo., y luego postealo acá.

Tip 1: Por seguridad, es conveniente que tanto el username como el password que almacenes en la tabla de usuarios de tu aplicación se encuentren encriptados.
En el manual encontrarás varias funciones específicas de MySQL para encriptación y desencriptación de cadenas.

Tip 2: Existe entre esas funciones la PASSWORD(), que genera la cadena encriptada que MySQL almacena en la tabla users, pero recuerda que esa encriptación no es reversible.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 29/06/2012 a las 23:37