C# 如何在SQLServer2008中使用加密算法保存密码
我正在用C#编写一个程序,其中包括Username和Passowrd等用户数据。我在SQLServer2008中创建了一个数据库,现在我想在数据库中加密Passowrd,因为我不想看到他们的密码 我希望你能在这方面帮助我C# 如何在SQLServer2008中使用加密算法保存密码,c#,sql-server,password-encryption,C#,Sql Server,Password Encryption,我正在用C#编写一个程序,其中包括Username和Passowrd等用户数据。我在SQLServer2008中创建了一个数据库,现在我想在数据库中加密Passowrd,因为我不想看到他们的密码 我希望你能在这方面帮助我 数据库名称:DB_Biblioteka 表:tbl\u用户 列:ID,Name,Username,Password 谢谢。如果您愿意,请点击链接 但为了提高嗅探的安全性,您需要在将密码传递给SQL Server时对其进行编码 因此,您可以在代码中使用许多函数来实现这一点;最
- 数据库名称:
DB_Biblioteka
- 表:
tbl\u用户
- 列:
,ID
,Name
,Username
Password
public static string GetHashText(string txt)
{
byte[] tmpSource = new UTF8Encoding().GetBytes(txt);
return Convert.ToBase64String(tmpSource);
}
public static string DecodeText(string txt)
{
byte[] tmpData = Convert.FromBase64String(txt);
string tmp = new UTF8Encoding().GetString(tmpData);
return tmp;
}
但是更好的方法是散列(@simon)。你可以用这个
我建议你搜索互联网,尝试一下,如果你被卡住了,再回来。提示:你不想“加密”你的密码,你想把它们散列出来。这不是一回事。现在你可能有一些谷歌搜索要做…看看-这给出了一个很好的答案。但也要读一点关于散列的内容,这样你就能确切地了解发生了什么;有很多关于密码的好信息。加密不是处理存储密码的推荐方法。散列是。该示例代码的问题在于它使用了随机salt,这将使检查登录有点困难。@Simonatrc我只是添加了该链接作为OP的示例或起点,我认为我们应该帮助OP找到他或她的方法;)。的确看看我对这个问题的评论。任何加密技术都需要一点理解;半个答案通常比没有更糟糕。