사용자가 정보를 입력하여 프로그램에 로그인 할 수있는 경우 응용 프로그램과 함께 작업하고 있습니다. 암호는 테이블에 암호화되어 저장됩니다. 내가이 비밀번호를 사용하여 로그인 할 때 그러나 그것은 작동하지 않습니다. \C# wpf Sql 테이블 암호화 된 암호
데이터를 암호화 내가
ALTER procedure [dbo].[inn]
@use varchar (50) = null,
@ins varchar (50) = null
AS
INSERT INTO [kole].[dbo].[koll]
([Userr]
,[ins])
VALUES
(@use,
((EncryptByPassPhrase('8', @ins)))
가 그리고 decrypte 내가이 저장 프로 시저
ALTER procedure [dbo].[sle]
@Use varchar (50) = null,
@ins varchar (50) = null
AS
SELECT Userr,CONVERT(varchar(50),DECRYPTBYPASSPHRASE ('8',ins)) as Password
FROM [kole].[dbo].[koll]
where Userr = @Use and ins = @ins
GO
을 사용하여이 저장 프로 시저를 사용하여 C#에서는이 코드를 사용하여 데이터를 호출하고 프로그램에 로그인합니다.
private void btn_Click(object sender, RoutedEventArgs e)
{
SqlConnection conn = new SqlConnection("Server = localhost;Database = kole; Integrated Security = true");
SqlCommand cmd = new SqlCommand("sle", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Userr", txt.Text);
cmd.Parameters.AddWithValue("@ins", psw.Password);
conn.Open();
SqlDataAdapter adapt = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapt.Fill(ds);
conn.Close();
int count = ds.Tables[0].Rows.Count;
if (count == 0)
{
MessageBox.Show("This user don't exist");
SystemSounds.Hand.Play();
txt.Text = "";
psw.Password = "";
}
else if (count == 1)
{
MessageBox.Show("Granted!");
SystemSounds.Asterisk.Play();
conn.Open();
}
올바른 방법으로 암호를 해독하여 프로그램에 로그인 할 수 있습니까? 감사합니다.
별도로 필요 대신 암호의 해시 고려 DD? – Caramiriel
내가 어떻게 이럴 수있어, 내가 새로운 샘플 인걸 말해 줄 수 있겠 니? – user5827232
나는이 웹 사이트가 왜 당신에게 어떻게 그리고 어떻게 (https://crackstation.net/hashing-security.htm/http : /www.codeproject.com/Articles/608860/Understanding-and-Implementing-Password-Hashing). 즉, 웹 사이트가 어떻게 든 정보를 유출하는 경우 암호를 검색 할 수 없도록하는 것이 좋습니다. – Caramiriel