【问题标题】:Sha256 + salt algorithem in windows phone 7windows phone 7 中的 Sha256 + salt 算法
【发布时间】:2012-06-28 21:00:27
【问题描述】:

我想使用 SHA256 算法和盐密钥加密我的用户名和密码,以便通过 xml 发送到服务器。我怎样才能做到这一点?

我用 SHA256 做了一个示例代码并粘贴了 bleow。我如何在这个中使用盐键?

      void myBtn_Click(object sender, RoutedEventArgs e)
      {
        var sha = new  SHA256Managed();
        var bytes = System.Text.Encoding.UTF8.GetBytes(testPass.Text);
        byte[] resultHash = sha.ComputeHash(bytes);
        string sha256 = ConvertToString(resultHash);
      }

       public static string ConvertToString(byte[] buff)
       {
         string sbinary = "";

         for (int i = 0; i < buff.Length; i++)
         {
             //hex-formatted
            sbinary += buff[i].ToString("X2");
         }
         return (sbinary);
       }

【问题讨论】:

  • SHA256 不是加密。这是散列。它们非常不同。
  • 请注意,这只会(略微)保护您免受试图找到您的纯文本密码的人的侵害。由于可以重播登录过程,因此它不会保护您免受黑客试图重复使用您的身份验证。您应该使用 TLS/SSL 来防止重放攻击,并在服务器上使用 scrypt、bcrypt 或 PBKDF2 以获得更好的保护。

标签: windows-phone-7 encryption salt sha sha256


【解决方案1】:

SHA 是一种哈希算法,而不是一种加密算法。无法从您的结果字符串中提取密码。你确定你采取了正确的方法吗?你愿意更好地解释一下这个场景吗?

【讨论】:

  • 啊好的。但没关系。我不想从结果中提取它。在服务器端,他们也将其与使用 sha256 + salt 后的结果进行比较。
  • @Stallin 我现在明白了。您可能想查看 Keyed Hash Algorithm,该算法将使用密钥加密您的哈希。这相当于加盐。这是一个链接:link
猜你喜欢
  • 1970-01-01
  • 2011-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多