2013-01-22 13 views
5

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

+1

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

+2

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

+1

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

Odpowiedz