2010-05-22 52 views

Trả lời

3

Quy trình làm việc điển hình sẽ liên quan đến việc tạo ra giá trị muối và sử dụng giá trị đó để băm mật khẩu và sau đó lưu trữ cả hai trong hàng. Điều này được ghi lại chi tiết ở nhiều nơi và dễ dàng được tìm kiếm.

Nếu bạn thực sự chỉ muốn một cách nhanh chóng băm hoặc mã hóa mà không có muối hãy nhìn vào FormsAuthentication.HashPasswordForStoringInConfigFile

+1

+1 đề cập đến muối. Một băm không băm nhỏ dễ bị tổn thương hơn so với bảng tra cứu cầu vồng. – Tim

2

Nếu bạn lo lắng về việc gửi văn bản đơn giản trên dây, sử dụng https. Sau đó, cho dù bạn sử dụng https hay không sử dụng thuật toán băm một chiều như Sha256 để "mã hóa" mật khẩu và lưu trữ trong cơ sở dữ liệu của bạn (hoặc bất kỳ bộ nhớ liên tục nào bạn đang sử dụng). Khi người dùng đăng nhập, sử dụng cùng một thuật toán, để chuyển đổi văn bản họ đã nhập vào văn bản được băm và so sánh văn bản được băm với văn bản được băm trong cơ sở dữ liệu của bạn.

0

Cách tiếp cận tốt nhất tôi tìm thấy (và cách làm thế nào facebook chính xác, không có gì)

khi người dùng thời gian nhập vào trình duyệt, mã hóa javascript đầu tiên, sau đó gửi vào ứng dụng, mã hóa với MVC cuối cùng lưu trữ đó trong bạn sở dữ liệu.

trong khi người dùng sẽ cần mật khẩu đó để chỉ đăng nhập, khi họ quên. làm một cái gì đó giống như đặt lại password = D

http://forums.asp.net/t/1211478.aspx/1?How+do+I+use+Sha256+to+Encrypt+a+String+

1

Cách đơn giản nhất tôi thấy là sử dụng Membership Provider from ASP.NET. Sau đó, bạn có thể cấu hình nó trong web.config của bạn như thế này:

<system.web> 
    <membership> 
    <providers> 
     <clear /> 
     <add 
     name="AspNetSqlMembershipProvider" 
     (...) 
     passwordFormat="Hashed" 
     (...) /> 
    </providers> 
    </membership> 

Các vấn đề liên quan