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);
我正在尝试制作一个登录系统。 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);