C# MD5CryptoServiceProvider解密密码(如果可能的话)

C# MD5CryptoServiceProvider解密密码(如果可能的话),c#,md5,C#,Md5,我一直在从事一个将常规MVC应用程序转换为WebAPI应用程序的项目。现在的安全系统做得不好,我想知道该怎么办。我求助于你们大家来帮助我解决这个问题。当前系统使用以下代码创建加密密码。(可能不是最好的方法,但事实就是如此。) 现在我的问题是可以创建一个方法来解密密码吗?我一直在玩弄代码,还没完全弄明白。我不太擅长这个,所以我希望这里有人能帮我 提前谢谢 实际上不可能解码散列值。如果要加密/解密某个值,应使用对称密码(例如三重des)而不是哈希算法。您不能这样做。您需要理解散列的含义。(虽然MD5

我一直在从事一个将常规MVC应用程序转换为WebAPI应用程序的项目。现在的安全系统做得不好,我想知道该怎么办。我求助于你们大家来帮助我解决这个问题。当前系统使用以下代码创建加密密码。(可能不是最好的方法,但事实就是如此。)

现在我的问题是可以创建一个方法来解密密码吗?我一直在玩弄代码,还没完全弄明白。我不太擅长这个,所以我希望这里有人能帮我


提前谢谢

实际上不可能解码散列值。如果要加密/解密某个值,应使用对称密码(例如三重des)而不是哈希算法。

您不能这样做。您需要理解散列的含义。(虽然MD5并不安全)是的,根据你的雇主对此事的看法,你可以使用MD5破解程序恢复所有或几乎所有用户的密码,然后使用更好的方案对其重新编码。但作为一般原则,散列是不透明的,只有当用户重置密码时,您才能将用户升级到新的散列(您可能会不时强迫他们这么做)。同样相关(可以说是重复):
MD5CryptoServiceProvider x = new MD5CryptoServiceProvider();
byte[] data = System.Text.Encoding.ASCII.GetBytes(unHashed);
data = x.ComputeHash(data);
return System.Text.Encoding.ASCII.GetString(data);