我目前正在开发一个C#应用程序,它向php webserver发送请求,然后验证MySQL连接。散列算法在服务器上,工作正常,但我希望在我的C#应用程序中使用相同的散列技术。 md5哈希是来自ipBoard论坛,这就是为什么它需要特别是这个。以下是它们如何陈述:
“哈希是连接到明文密码的md5总和的盐的md5总和的md5总和。用PHP代码表示,如下所示: $ hash = md5(md5($ salt)。md5($ password)); “
我只是不知道在c#中从哪里开始...感谢任何回复。
答案 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文档。