【问题标题】:How to Decrypt Password in c# using Salt and Hash.?如何在 c# 中使用 Salt 和 Hash 解密密码。?
【发布时间】:2017-09-15 05:08:31
【问题描述】:

如何在 c# 中使用 Salt 和 Hash 解密密码。? Salt 和 Hash 已存储在 SQL Server 中。

这里附上带有哈希盐和哈希的数据库截图。

【问题讨论】:

  • 这将是相当困难的。散列算法是单向的……见这里msdn.microsoft.com/en-us/library/ee783861(v=cs.20).aspx
  • 这取决于你如何加密它。通常加密和解密是一起来的。
  • 为什么这被标记为base64? Base64 是编码,不是加密。
  • 贴出用于加密的代码。

标签: c# cryptography passwords


【解决方案1】:

我将假设这个表就是所有的,没有“密码”列或表。在这种情况下:

这里没有密码可以解密,因为这个表不包含密码。

这是怎么回事:用户创建了一个密码。它被散列(使用盐)并存储为123ABC。当他们登录时,他们输入密码,然后对密码进行散列(使用盐)并比较与保存的散列。如果输出为123ABC,很好。

好消息是,您永远不会保存密码,因此它们不会被盗。永远。

不好的部分是 other 字符串将散列到123ABC,因此拥有所有可能散列表(称为“彩虹表”)的人可以使用其他一些已知的匹配。这就是盐的来源,它使找出可能的匹配变得更加困难。

【讨论】:

    【解决方案2】:

    根据您的加密方式,您可能无法解密它,因为哈希算法通常是单向的。

    您唯一可行的解​​决方案是暴力破解哈希和盐,通过查看它会花费很长时间。

    如果您知道数据是如何与盐相关的,那么这相对简单,可以手动或自动完成。

    更多信息在这里:https://msdn.microsoft.com/en-us/library/ee783861(v=cs.20).aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-03
      • 2019-12-13
      • 2014-03-26
      • 1970-01-01
      • 2013-04-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多