Итак, я нахожусь в процессе написания приложения ASP.NET, которое требует импортировать пользователей из приложения PHP. Пароли были хешированы с использованием MD5 в базу данных, поэтому записи в таблице пользователей выглядят примерно так:
Пароль пользователя
user1 827ccb0eea8a706c4c34a16891f84e7b
user2 e10adc3949ba59abbe56e057f20f883e
И так далее. У меня есть доступ к исходному коду PHP, и я вижу, что нет соли или чего-то еще, это просто прямое приложение MD5. Теперь, вернувшись в свой ASP.NET, я попытался использовать MD5, используя следующую логику:
public static string HashPassword(string Password)
{
//Declarations
Byte[] originalBytes;
Byte[] encodedBytes;
MD5 md5;
originalBytes = ASCIIEncoding.Default.GetBytes(Password);
md5 = new MD5CryptoServiceProvider();
encodedBytes = md5.ComputeHash(originalBytes);
return BitConverter.ToString(encodedBytes);
}
Проблема в том, что возвращается строка типа 50-F8-4D-AF-3A-6D-FD-6A-9F-20-C9-F8-EF-42-89-42, которая, конечно, не собирается сопоставить с информацией в базе данных. Что мне делать, чтобы мне не пришлось сбрасывать 500+ пользовательских паролей?