C# 对于创建密码并对其进行哈希处理,有什么简单的建议吗?

C# 对于创建密码并对其进行哈希处理,有什么简单的建议吗?,c#,.net,passwords,hash,salt,C#,.net,Passwords,Hash,Salt,想知道是否有人有一些到代码片段的快速链接来生成随机salt(这不容易猜到),然后用生成的哈希值散列一些纯文本密码 建议或链接,请 请输入.NET代码。盐是可以知道的。你为什么想要盐“不容易猜”?它必须是唯一的,这样,如果两个人共享相同的密码,那么应用于密码的salt可以确保他们不会以相同的哈希值结束,并降低彩虹攻击的有效性(使用反向哈希字典查看可能产生特定哈希值的纯文本值) 从上的代码段: 然后,您可以在纯文本密码中添加或添加此密码,然后对其进行哈希运算。您的密码是否容易猜到并不重要。它以某种方

想知道是否有人有一些到代码片段的快速链接来生成随机salt(这不容易猜到),然后用生成的哈希值散列一些纯文本密码

建议或链接,请


请输入.NET代码。

盐是可以知道的。你为什么想要盐“不容易猜”?它必须是唯一的,这样,如果两个人共享相同的密码,那么应用于密码的salt可以确保他们不会以相同的哈希值结束,并降低彩虹攻击的有效性(使用反向哈希字典查看可能产生特定哈希值的纯文本值)

从上的代码段:


然后,您可以在纯文本密码中添加或添加此密码,然后对其进行哈希运算。

您的密码是否容易猜到并不重要。它以某种方式附加到密码中,以降低字典攻击和彩虹表的有效性。它应该是复杂的,可能是随机的,但是,正如您所了解的,有一种特殊的密码+盐散列方法,DIY在安全性方面是致命的。更新为加密安全的随机数。然而,由于salt是已知的(它通常存储在纯文本中,因此无论它的生成以何种加密方式随机,它都应该被视为公共信息),随机性就没有那么重要了。它的独特之处在于。冷静下来,查找PasswordDeriveBytes()@Pure,你熟悉“将codez pleaz发送给我”迷因吗?查一查。@Henk Holterman-如果你想像那样开始玩trollin,你可以说很多SO只是“给我发个密码”。。唉,这附近总有一个巨魔:(不-我不是想要一个快速解决方案/让其他人来做。我希望我能得到一个帖子的链接,解释一些代码以及为什么这些代码值得使用。例如,用户
GetNonZeroBytes
而不是
GetBytes
。有些人建议总是使用
GetBytes
来代替。所以我希望的不仅仅是给我看科兹。
private static string CreateSalt(int size)
{
  // Generate a cryptographic random number using the cryptographic
  // service provider
  RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
  byte[] buff = new byte[size];
  rng.GetBytes(buff);
  // Return a Base64 string representation of the random number
  return Convert.ToBase64String(buff);
}