Tôi có đoạn mã sau tạo mã băm từ mật khẩu và sau đó so sánh nó với mật khẩu băm được lưu trữ trong db. Tất cả các công trình tốt hơn http. Điều này cho một ứng dụng web asp.net chạy dưới C# 4.0HMACSHA1 Vấn đề SSL
HMACSHA1 hash = new HMACSHA1();
hash.Key = Encoding.Unicode.GetBytes(password);
encodedPassword = Convert.ToBase64String(hash.ComputeHash(Encoding.Unicode.GetBytes(password)));
Tuy nhiên khi chạy trên https/ssl mật khẩu được mã hóa khác và do đó người dùng không thể đăng nhập.
Khuôn khổ .net có thực hiện điều gì khác khi tính toán băm khi chuyển qua SSL không?
Nếu tôi duyệt qua mã và sao chép mật khẩu được mã hóa và cập nhật db của tôi sau đó qua SSL, tôi có thể đăng nhập.
Bất kỳ ý tưởng nào?
Rất cám ơn
SSL là minh bạch đối với asp.net, tôi không hiểu vị trí và cách thức mật khẩu di chuyển từ máy khách đến máy chủ và nơi thực hiện so sánh. – Aristos
Tại sao bạn sử dụng HMAC và sau đó chuyển mật khẩu và mật khẩu để bẻ khóa? Điều đó không có ý nghĩa gì cả. – Robert
robert, không phải mã của tôi là một phần của cmswaco mã nguồn mở. chỉ cố gắng sửa chữa một vấn đề mà tôi đã phát hiện ra và có vẻ như là trên https mã hóa là khác nhau khi trên http có thể một cái gì đó đang xảy ra ở độ sâu của khuôn khổ .net? – Ismail