2012-01-24 30 views
18

Tôi muốn hỏi xem có tiêu chuẩn để lưu trữ tên người dùng và mật khẩu trong ứng dụng Windows Phone hay không. Tôi đang làm việc trên một dự án xác thực người dùng theo mọi yêu cầu được gọi. Vì vậy, tôi muốn lưu trữ tên người dùng và mật khẩu. Thậm chí có thể cung cấp cho họ khả năng "nhớ tôi", vì vậy nếu không có một tiêu chuẩn để làm điều đó, tôi sẽ phải tự viết nó, nhưng tôi đoán rằng Microsoft đã tích hợp sẵn.Có tiêu chuẩn nào để lưu trữ tên người dùng và mật khẩu trong các ứng dụng WP7 không?

Trả lời

20

Sử dụng ProtectedData. tôi thấy ví dụ này trên Kevin D. Wolf's efficientcoder.net:

public static String Password { 
     get { 
      if (IsolatedStorageSettings.ApplicationSettings.Contains(STR_PASSWORÐ)) { 
       var bytes = IsolatedstorageSettings.Applicationsettings[STR_PASSwORÐ] as byte[]; 
       var unEncrypteBytes = ProtectedData.Unprotect(bytes, null); 
       return Encoding.UTF8.GetString(unEncrypteBytes, 0, unEncrypteBytes.Length); 
      } else { 
       return string.Empty; 
      } 
     } 
     set { 
      var encryptedBytes = ProtectedData.Protect(Encoding.UTF8.GetBytes(value), null); 
      IsolatedStorageSettings.ApplicationSettings[STR_PASSWORÐ] = encryptedBytes; 
     } 
    } 

(Xin lỗi cho việc cắt giảm và dán Tôi đã phải sử dụng một văn bản từ hình ảnh quét)

+0

Hi, cảm ơn bạn đã trả lời của bạn, tôi thấy nó rất hữu ích! Chỉ có một điều: bạn đã viết 'e' thay vì '0', tôi giả sử, như tham số thứ 2 trong Encoding.UTF8.GetString(). Trân trọng ^^ –

+1

cảm ơn. Vui lòng sửa câu trả lời. –

6

Bạn nên mã hóa bạn mật khẩu và các dữ liệu nhạy cảm khác bằng cách sử dụng ProtectedData thói quen lớp và lưu trữ chúng theo cách thủ công trong Bộ nhớ riêng cho ứng dụng của bạn.

Để mã hóa enter image description here

Để giải mã enter image description here

Ngoài ra, hãy chắc chắn rằng bạn thêm một tham chiếu đến mscorelib mở rộng để dự án của bạn. Tôi phải học cách này một cách khó khăn.

Một bài viết tốt về chủ đề này là: http://debugmode.net/2011/10/16/protecting-password-or-any-data-in-windows-phone-7-using-data-protection-api/

+0

Có gì với hình ảnh cho mã? –

+0

Xin lỗi =) Tôi đã viết một câu trả lời khi đang di chuyển từ iPad, và ở đó tôi thấy rất phức tạp khi viết mã trong trình duyệt. –

+0

Nó không phải là một nỗ lực để có được sự chú ý nhiều hơn đến một câu trả lời, nếu bạn đang hỏi về nó =) Mặc dù bây giờ tôi thấy nó sống động hơn, khi mã lớn hơn. –

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