Mam następujący kod, który tworzy skrót z hasła, a następnie porównuje go z przechowywanym hashowanym hasłem w db. Wszystko działa dobrze przez http. To dla aplikacji webforms asp.net uruchomiony pod C# 4,0Wydanie HMACSHA1 SSL
HMACSHA1 hash = new HMACSHA1();
hash.Key = Encoding.Unicode.GetBytes(password);
encodedPassword = Convert.ToBase64String(hash.ComputeHash(Encoding.Unicode.GetBytes(password)));
Jednak podczas pracy nad HTTPS/SSL zakodowane hasło jest inny i dlatego użytkownik nie może się zalogować.
Czy środowisko .net robi coś innego podczas obliczania wartości mieszania przy korzystaniu z protokołu SSL?
Jeśli przejdę przez kod i skopiuję zakodowane hasło i zaktualizuję mój db, a następnie przez SSL mogę się zalogować.
Wszelkie pomysły?
Dziękujemy
SSL jest przezroczysty dla asp.net, nie rozumiem, gdzie i jak hasła przechodzą od klienta do serwera i gdzie odbywa się porównywanie. – Aristos
Dlaczego korzystasz z HMAC, a następnie przekazujesz hasło jako klucz i dane, które ma mieszać hasło? To nie ma sensu. – Robert
robert, nie mój kod jest częścią opensource cms umbraco. tylko próbuję naprawić problem, który odkryłem i wydaje się, że przez HTTPS kodowanie jest inne, gdy nad http prawdopodobnie coś dzieje się w głębiach struktury .net? – Ismail