Пароли Php md5 на клиенте C #

Я пытаюсь сделать систему входа в систему. Все учетные записи в системе форума Mybb. Я хочу войти в систему клиента, используя базу данных mybb_users. Но пароли мд5. И есть двоеточие по имени: «соль». Как я могу зашифровать пароли при проверке пароля?
Это мои коды (если адрес электронной почты и пароль верны)

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

0

Решение

Поскольку ваши пароли хранятся в базе данных 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);
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]