Encriptaci贸n en MySql
Hola, tengo un peque帽o problema en el proyecto que estoy haciendo, y es el siguiente:
- Resulta que estoy utilizando la funci贸n MD5 ('str'), para encriptar passwords, con la siguiente estructura:
stmt.executeUpdate("INSERT INTO Persona (ID, Password) VALUES ('"+ID+"',MD5("+Password+"); (estoy trabajando en java)
- Pero el problema me viene a la hora de que un usuario entre en el sistema, ya que tendria que codificar el password que mete con MD5, y posteriormente compararlo con el que esta ya codificado en la base de datos. Puedo rescatar la informaci贸n perfectamente de la base de datos, pero no se como comparar los 2 passwords codificados. Para conseguir que el password codificado en la base de datos , este en un string hago lo siguiente:
rs = stmt.executeQuery("SELECT Password FROM Persona WHERE ID='" + ID + "'");
Resultado = rs.getString("Password");
Vale, hasta aqui todo bien, a continuaci贸n codifico el Password que introduce el usuario para poder compararlo con el que existe en la base de datos:
rs2 = stmt.executeQuery("SELECT MD5('"+Pass+"')");
Pero ahora, 驴como los comparo?, es decir, 驴como meto eso en un string?No se como usar la funcion getString en este caso, ya que no estas resctando la informacion de una tabla.
Por favor, es importante, gracias.
- Resulta que estoy utilizando la funci贸n MD5 ('str'), para encriptar passwords, con la siguiente estructura:
stmt.executeUpdate("INSERT INTO Persona (ID, Password) VALUES ('"+ID+"',MD5("+Password+"); (estoy trabajando en java)
- Pero el problema me viene a la hora de que un usuario entre en el sistema, ya que tendria que codificar el password que mete con MD5, y posteriormente compararlo con el que esta ya codificado en la base de datos. Puedo rescatar la informaci贸n perfectamente de la base de datos, pero no se como comparar los 2 passwords codificados. Para conseguir que el password codificado en la base de datos , este en un string hago lo siguiente:
rs = stmt.executeQuery("SELECT Password FROM Persona WHERE ID='" + ID + "'");
Resultado = rs.getString("Password");
Vale, hasta aqui todo bien, a continuaci贸n codifico el Password que introduce el usuario para poder compararlo con el que existe en la base de datos:
rs2 = stmt.executeQuery("SELECT MD5('"+Pass+"')");
Pero ahora, 驴como los comparo?, es decir, 驴como meto eso en un string?No se como usar la funcion getString en este caso, ya que no estas resctando la informacion de una tabla.
Por favor, es importante, gracias.
no se si sera un poco tarde contestarle pero hice algo parecido....
recoge el password del formulario que envia el usuario con
String clave = request.getParameter("contrase帽a");
donde contrase帽a es el nombre del campo de texto donde recojo la contrase帽a...
luego lo comparo con la cadena que tengo en la base de datos
seria
ResultSet rs = stmt.executeQuery("select * from nombre_tabla where clave = md5('"+clave+"') as clave ");
lo que hace es transformar la contrase帽a que entra el usuario en una cadena md5 y luego compararlo con el que hay en la base de datos ...
si acaso necesita algo mas escribame
recoge el password del formulario que envia el usuario con
String clave = request.getParameter("contrase帽a");
donde contrase帽a es el nombre del campo de texto donde recojo la contrase帽a...
luego lo comparo con la cadena que tengo en la base de datos
seria
ResultSet rs = stmt.executeQuery("select * from nombre_tabla where clave = md5('"+clave+"') as clave ");
lo que hace es transformar la contrase帽a que entra el usuario en una cadena md5 y luego compararlo con el que hay en la base de datos ...
si acaso necesita algo mas escribame
