制作哈希的md5哈希值

时间:2014-03-02 12:10:05

标签: c# php hash md5

我目前正在开发一个C#应用程序,它向php webserver发送请求,然后验证MySQL连接。散列算法在服务器上,工作正常,但我希望在我的C#应用​​程序中使用相同的散列技术。 md5哈希是来自ipBoard论坛,这就是为什么它需要特别是这个。以下是它们如何陈述:

“哈希是连接到明文密码的md5总和的盐的md5总和的md5总和。用PHP代码表示,如下所示: $ hash = md5(md5($ salt)。md5($ password)); “

我只是不知道在c#中从哪里开始...感谢任何回复。

1 个答案:

答案 0 :(得分:1)

如果您只需要提供的PHP代码的快速移植版本:

// Create the MD5 hash object.
System.Security.Cryptography.MD5 md5 = System.Security.Cryptography.MD5.Create ();

string password = "password";
string salt = "salt";

// Hash password and salt
byte[] passwordHash = md5.ComputeHash (System.Text.Encoding.ASCII.GetBytes (password));
byte[] saltHash = md5.ComputeHash (System.Text.Encoding.ASCII.GetBytes (salt));

// Combine password and hash.
string passwordAndSalt = System.Text.Encoding.ASCII.GetString (passwordHash) + System.Text.Encoding.ASCII.GetString (saltHash);

// Compute final hash against the password and salt.
byte[] finalHash = md5.ComputeHash (System.Text.Encoding.ASCII.GetBytes (passwordAndSalt));

有关详细信息,请参阅System.Security.Cryptography.MD5文档。