这是我的代码
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 帮我PL .. 谢谢大家
答案 0 :(得分:0)
TL; DR:您不能(除非您有很多计算能力和/或时间)。 Base64转换可以轻松还原,但是哈希部分是一种单向转换。
当需要证明某人您知道某事(我们称其为X
)而不必实际向他展示X
(假设他知道hash(X)
的样子)时,这是一个非常有用的属性例如,您可以改为给他看hash(X)
。之所以有效,是因为几乎不可能找到Y
这样的hash(Y)==hash(X)
。这只是一个用例,还有更多用例。
尚不清楚您要用该代码完成什么,但是我建议您在继续之前先阅读一些有关散列函数的知识:https://en.wikipedia.org/wiki/Hash_function