【问题标题】:Decrypting The Password From Cipher Text To Plain Text [closed]将密码从密文解密为纯文本 [关闭]
【发布时间】:2013-12-10 01:15:45
【问题描述】:
protected void Button1_Click(object sender, EventArgs e)
{
    string EPass = Helper.ComputeHash(txtPassword.Text, "SHA512", null);
    lblmsg.Text = EPass; //Encrypting The Plain Text To Cipher Text 
}
protected void btnAuthenticate_Click(object sender, EventArgs e)
{
    bool flag = Helper.VerifyHash(txtPassword.Text, "SHA512", lblmsg.Text);
    if (flag == true) 
    {
        Label1.Text = "You are the correct user";       
    }
}

我可以使用什么方法将密文解密为纯文本并将纯文本显示到标签中。谢谢。

【问题讨论】:

  • 您使用的是哈希函数,而不是算法,您无法像算法一样解密哈希!所以不,您不能将散列文本解密为纯文本!
  • 感谢@AppDeveloper 的回复,任何简单的方法都可以推荐给我,从解密密文到纯文本。谢谢
  • 好吧,你不能说解密,但破解是可能的!
  • 这应该是stackoverflow.com/questions/269101/…(以及许多其他“如何反转单向哈希”)问题的重复。由于摘要的长度,将rainbow tables 用于SHA512 是非常不可能的。
  • 因为这个任务要求我把密码显示给那些忘记密码的用户。

标签: c# asp.net encryption


【解决方案1】:

您无法解密单向哈希密码。相反,您想比较两个散列密码。

protected void btnAuthenticate_Click(object sender, EventArgs e)
{
    string EPass = Helper.ComputeHash(txtPassword.Text, "SHA512", null);
    if (EPass == lblmsg.Text) 
    {
        Label1.Text = "You are the correct user";       
    }
}

【讨论】:

    【解决方案2】:

    如果你想创建一个登录系统,方法是将加密的文本与加密的密码进行比较。例如

    string userEntry = Helper.ComputeHash(txtPassword.Text, "SHA512", null);
    
    
    if (EPass == encrptedPassword) {
        Label1.Text "Success!";
    }
    

    这就是我在 PHP 中的做法。

    【讨论】:

      猜你喜欢
      • 2015-06-29
      • 2022-10-12
      • 2011-12-24
      • 2016-07-30
      • 2010-10-31
      • 1970-01-01
      • 2020-04-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多