מידע מוגן
דיברנו מספר פעמים על הצפנה ואבטחה מידע, רק רציתי להראות מחלקה נוספת שאומנם היכולות שלה מאוד מוגבלות, אבל היא פשוטה לשימוש ולעיתים היא מספיקה לנו
שם המחלקה ProtectedData וכדי להשתמש בה יש להוסיף הפניה ל dll נוסף בשם System.Security
למחלקה יש רק 2 פונקציות וגם הן סטטיות כך שבשורה אחת ניתן להצפין ובשורה אחת לפענח מידע:
byte[] result=.ProtectedData.Protect(Encoding.UTF8.GetBytes("my data"),
null,
DataProtectionScope.CurrentUser);
string s = Encoding.UTF8.GetString(result);
וכמובן תהליך הפיענוח נעשה באותו אופן אבל הפוך
byte[] data = ProtectedData.Unprotect(result,
null, DataProtectionScope.CurrentUser);
string unprotected =
Encoding.UTF8.GetString(data);
בעיקרון המחלקה משתמשת בנתוני המחשב/משתמש נוכחי בתור מפתח להצפנה, מה שאומר שאי אפשר להעביר את המידע למישהו אחר עם מפתח ושהוא יפתח את המידע אצלו.
מאוד פשוט... הפרמטר הראשון הוא המידע שאני רוצה להצפין, השני הוא "תוספת" אבטחה, כך שהמפתח יהיה יחודי
יותר, והשלישי הוא האם להשתמש במפתח יחודי לכל המחשב או למשתמש הנוכחי בלבד- פירוש, האם כל מי שמחובר למחשב הזה יוכל לפתוח את המידע אבל לא במחשבים אחרים, או רק המשתמש שהצפין את המידע.