如何从ComputeHash字符串返回基值?C#

如何从ComputeHash字符串返回基值?C#,hash,Hash,这是我的密码 private void button1_Click(object sender, EventArgs e) { string myuser= "Admin"; string mypass= "123"; SHA256Managed managed = new SHA256Managed(); this.passwordHashTextBox.Text = Convert.ToBase64Str

这是我的密码

        private void button1_Click(object sender, EventArgs e)
    {
        string myuser= "Admin";
        string mypass= "123";
        SHA256Managed managed = new SHA256Managed();
        this.passwordHashTextBox.Text = Convert.ToBase64String(managed.ComputeHash(Encoding.UTF8.GetBytes(myuser.ToLower() + mypass)));
    }
此代码为我返回以下字符串=“JAvlGPq9JyTdtvBO6x2llnRI1+gxwIyPqCKAn3THIKk=” 现在我想从这个代码中获取myuser和mypass 帮帮我。。
谢谢大家

TL;DR:你不能(除非你有足够的计算能力和/或时间)。Base64转换很容易恢复,但哈希部分是单向转换

当需要证明某人你知道某件事时(我们称之为
X
),而不需要实际向他展示
X
,这是一个非常有用的属性,假设他知道
hash(X)
的样子,你可以向他展示
hash(X)
。这是因为几乎不可能找到
Y
,因此
hash(Y)=hash(X)
。这只是一个用例,还有更多


目前还不完全清楚您试图用该代码实现什么,但我建议您在继续之前阅读一些有关哈希函数的内容:

哈希函数往往只是一个方向,例如,密码无法从哈希中恢复。。。