Criptografar senhas no Sql Server 2008 usando SHA1
Eu projetei um sistema de logon usando C # em que o nome de usuário e a senha são verificados no SQL Server 2008 antes de carregar a página principal. Desejo criptografar a senha armazenada no banco de dados. É possível fazê-lo usando o algoritmo C # e SHA1?
A seguir está o meu procedimento armazenado:
ALTER procedure [dbo].[proc_UserLogin]
@userid varchar(20),
@password nvarchar(50)
As
declare
@ReturnVal varchar(500)
SET NOCOUNT ON
if exists(select userid,password from LoginManager where userid=@userid and password=@password)
set @ReturnVal='0|Logged in Successfully'
else
set @ReturnVal='1|Login Failed/Username does not exist'
select @ReturnVal
Código C #
public void button1_Click(object sender, EventArgs e)
{
mainform = new Form1();
string[] v;
OleDbConnection conn = new OleDbConnection("File Name=E:\\Vivek\\License Manager\\License Manager\\login.udl");
try
{
conn.Open();
string query = "EXEC dbo.proc_UserLogin'" + username.Text+ "', '" + password.Text+"'";
OleDbCommand cmd = new OleDbCommand(query, conn);
string s = Convert.ToString(cmd.ExecuteScalar());
v= s.Split('|');
if (v[0]=="0")
{
mainform.Show();
this.Hide();
}
else
{
MessageBox.Show("Please enter correct user credentials and try again");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
conn.Close();
}
Passei por perguntas semelhantes feitas por outros usuários aqui, mas eles não estavam funcionando para mim. Alguém pode sugerir alterações no código, para que a criptografia de senha possa ser realizada?
obrigado