c#客户端的Php 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-database中。

我相信你想这样做:

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);