Попытка смоделировать загрузку файла с помощью HTTPWebRequest. Клиентская сторона использует Md5.js от этого разработчика MD5.js
В моем коде C # я генерирую зашифрованную строку как таковую
public string PasswordHash(string password, string Key)
{
ASCIIEncoding encoding = new ASCIIEncoding();
HMACMD5 hmacmd = new HMACMD5(encoding.GetBytes(Key));
byte[] bytes = encoding.GetBytes(password);
byte[] byteBuffer= hmacmd.ComputeHash(bytes);
StringBuilder builder = new StringBuilder();
for (int i = 0; i < buffer3.Length; i++)
{
builder.Append(byteBuffer[i].ToString("x2"));
}
return builder.ToString().ToLower();
}
Следующая функция из MD5.js следующая:
function hex_hmac_md5(k, d) {
return rstr2hex(rstr_hmac_md5(str2rstr_utf8(k), str2rstr_utf8(d)));
}
Использование fiddler Я захватил ключ при входе в систему с использованием IE, а также зашифрованный пароль. Пароль, сгенерированный моим кодом с использованием C # и того же ключа, не совпадает с паролем, который генерирует метод JavaScript. чего мне не хватать?
C # pwd: 5d2b9c906608d8381cef4c24ff045be7
pwd, созданный веб-сайтом с использованием .js и записанный с использованием FIDDLER: f79a31f85da55aa0e3aca07e06568709