Hola tengo una duda, no puedo hacer el login de mi proyecto tengo una tabla de usuarios:
CREATE TABLE usuarios (
nombre_usuario varchar (40) ,
PASSWORD varchar(40)
);
y con las siguientes sentencias en mysql puedo acceder al usuario ingresando la contraseña y volviendo a encriptar:
//**Inserto datos en la tabla usuarios encriptandolo mediante el metodo SHA1**//
INSERT INTO usuarios (nombre_usuario, password) VALUES ('marilu', SHA1('trenesito'));
y con este lo encripto nuevamente y lo comparo, en mysql anda perfecto:
//** Desencripta y me da el usuario, encriptando nuevamente la contraseña**//
SELECT nombre_usuario FROM usuarios WHERE password=SHA1("venecia") LIMIT 0, 1
Pero: a la hora de ir a codificar en c# coloco el select de arriba y me valida unicamente el usuario y no la contraseña, tengo este codigo:
private void cmdaceptar_Click(object sender, EventArgs e)
{
MySqlConnection CANAL;
MySqlDataAdapter ORDEN;
CANAL
= new MySqlConnection
("user id=root;database=tucuman;server=localhost"); string q = "SELECT *FROM usuarios WHERE password=SHA1(password)=@contrasena and (nombre_usuario=@nom) LIMIT 0, 1";
ORDEN
= new MySqlDataAdapter
(q, CANAL
); ORDEN
.SelectCommand.Parameters.Add(new MySqlParameter
("@contrasena",MySqlDbType
.VarChar)); ORDEN
.SelectCommand.Parameters.Add(new MySqlParameter
("@nom", MySqlDbType
.VarChar)); ORDEN.SelectCommand.Parameters["@contrasena"].Value = t_con.Text;
ORDEN.SelectCommand.Parameters["@nom"].Value=t_us.Text;
DataTable TABLA
= new DataTable
(); ORDEN.Fill(TABLA);
if (TABLA.Rows.Count > 0)
{
MessageBox.Show("Puede ingresar","Cuero Tucumán");
}
else
{
MessageBox.Show("acceso denegado","Cuero Tucumán");
}
CANAL.Close();
}
Alguien me puede decir que esta mal.....porfa...gracias desde ya...