c#中的盐和MD5

时间:2012-10-22 17:02:31

标签: c# php winforms encryption

所以我有一个我的游戏网站

这是我正在使用的php的一部分。

$Login = strtolower(trim($Login));
$Pass = strtolower(trim($Pass));
$Repass = strtolower(trim($Repass));

$Salt = $Login.$Pass;
$Salt = md5($Salt);
$Salt = "0x".$Salt;

但现在我遇到了一个似乎无法解决的问题。我需要能够通过C#WinForms为客户端启动器(注册,玩游戏等)进行加密

对于我的生活,我无法弄清楚如何制作与它在php中相同的二进制文件。

我已经尝试了加载,但是无法破解它。

非常感谢你能提供帮助

1 个答案:

答案 0 :(得分:2)

虽然您的示例代码混淆了实际问题,但我认为我有一个解决您实际问题的方法。

我遇到了与md5()方法相同的问题,将一些PHP代码转换为C#。这就是我想出的:

private static string CalculateChecksum(string inputString)
{
    var md5 = new MD5CryptoServiceProvider();
    var hashbytes = md5.ComputeHash(Encoding.UTF8.GetBytes(inputString));
    var hashstring = "";
    foreach(var hashbyte in hashbytes)
        hashstring += hashbyte.ToString("x2");

    return hashstring;
}

可能有一个更简洁的解决方案,但是我在工作的时候很匆忙。

无论如何,它为您提供A48EDF06 ...字符串,就像您对php md5()的{​​{1}}

所期望的那样