Php C# 客户端上的 md5 密码

Php md5 Passwords on C# Client

我正在尝试制作一个登录系统。 Mybb 论坛系统上的所有帐户。我想使用 mybb_users 数据库登录客户端。但是密码md5。名字有一个冒号:"salt"。如何在检查密码时加密密码? 这是我的代码(如果电子邮件和密码是真的)

 int count = 0;
            while (myReader.Read())
            {
                count = count + 1;

            }
if (count == 1) // IF Ok.
                {
                    userLabel.Text = myReader[0].ToString();
                    loginSuccessTimer1.Enabled = true;
                    LoginFormSuccessBG loginSuccess = new LoginFormSuccessBG();
                    loginSuccess.Show();
                }

由于您的密码存储在 MyBB 数据库中,它们将遵循以下形式:

md5(password + md5(salt))

换句话说,首先获取盐的 md5 哈希值,然后将其添加到密码中,然后创建其 md5 哈希值。生成的字符串将存储在 MyBB 数据库中。

我相信你想做这样的事情:

string salt = // get salt from db
string password = // get password from user
MD5 md5 = new MD5CryptoServiceProvider();

// Create md5 hash of salt
byte[] saltBytes = Encoding.Default.GetBytes(salt);
byte[] saltHashBytes = md5.ComputeHash(salt);
string saltHash = System.BitConverter.ToString(saltHashBytes);

// Create your md5(password + md5(salt)) hash
byte[] passwordBytes = Encoding.Default.GetBytes(password + saltHash);
byte[] passwordHashBytes = md5.ComputeHash(salt);
string passwordHash = System.BitConverter.ToString(passwordHashBytes);