C# 如何在SQLServer2008中使用加密算法保存密码

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时对其进行编码 因此,您可以在代码中使用许多函数来实现这一点;最

我正在用C#编写一个程序,其中包括Username和Passowrd等用户数据。我在SQLServer2008中创建了一个数据库,现在我想在数据库中加密Passowrd,因为我不想看到他们的密码

我希望你能在这方面帮助我

  • 数据库名称:
    DB_Biblioteka
  • 表:
    tbl\u用户
  • 列:
    ID
    Name
    Username
    Password
谢谢。

如果您愿意,请点击链接

但为了提高嗅探的安全性,您需要在将密码传递给SQL Server时对其进行编码

因此,您可以在代码中使用许多函数来实现这一点;最简单的方法是:

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找到他或她的方法;)。的确看看我对这个问题的评论。任何加密技术都需要一点理解;半个答案通常比没有更糟糕。