Bueno chicos gracias por las ideas... y soluciones lo pude solucionar.
Buscando un poco entre los codigos que tengo guardados, en mi Wiki ...
Segun el dato que tengo es del 2006 pero aun funciona acabo de hacer la prueba, autor mig16 segun los datos
using System;
using System.Collections.Generic;
using System.Text;
using System.Security.Cryptography;
using System.Data.SqlClient;
namespace LoginFC
{
public static class LoginFC
{
public static bool Login(string user, string password, string tabla,string tablaLogin, string tablaPassword)
{
//Creamos una instancia de conexion (cambien sus datos obviamente)
SqlConnection con
= new SqlConnection
("Server = (local); Database = Facturacion;User = sa; Password = 123456"); bool correct = false; //Este bolleano nos indicara si el login es correcto
MD5CryptoServiceProvider encriptador
= new MD5CryptoServiceProvider
(); /*nstancia de encriptador en MD5*/
byte[] bs = Encoding.UTF8.GetBytes(password); //obtenemos los bytes del password
bs = encriptador.ComputeHash(bs);//los ciframos
string passHash = null; //Este sera el hash md5 del password
foreach (byte b in bs) //por cada byte lo agregamos al string passHash
{
passHash += b.ToString("x2").ToLower();
}
password = passHash; //ya tenemos el password cifrado
//este es el string que usaremos para el query de la base de datos
string query = "select " + tablaLogin + ", " + tablaPassword + " from "+tabla+" where " + tablaLogin + " = '" + user + "'";
con.Open(); //Abrimos la conexion
SqlCommand cmd
= new SqlCommand
(query,con
); //Creamos un comando de SQL SqlDataReader rdr = cmd.ExecuteReader(); //Creamos un reader y ejecutamos el comando
while (rdr.Read())
{
string log = rdr.GetValue(0).ToString();
string pass = rdr.GetValue(1).ToString();
if (user == log && password == pass) //si el login y password es = entonces es correcto
{
correct = true;
break; //rompemos el ciclo while
}
}
return correct; //regresamos el resultado
}
}
}
Algo para salir del apuro pero sirve, por ahora.
Saludos