נשלח בתאריך: 03 December 2006 בשעה 02:29 | | IP רשוּם
|
|
|
|
DotNet כתב:
OK
אבל אם אני הופכת את הסיסמא כך :
FormsAuthentication .HashPasswordForStoringInConfigFile(pass, "sha1");
לא ניתן לשחזר אותה מה DB ?
נאמר ואני נרשמת לאתר והסיסמא שלי זה 1234 הוא מקודד את הסיסמא נאמר ל :114D42C09193427394C064759E8F1D97F9F5B26C
זה הערך שנשמר לי ב DB אני לא יודעת ולא נשמר 1234
לכן לא ניתן לשחזר?
אז הרבה אתרים לא משתמשים בזה...כי במלא אתרים/פורומים וכו..
לפחות ממה שאני מכירה כולם משחזרים את הסיסמא
לפי מה שקראתי באינטרנט זו שיטה מעולה ושהרבה אתרים משתמשים בה זה נכון?
|
|
|
למען האמת ברוב המקומות משתמשים בהצפנה של הסיסמאות ב- DB ככה שגם אם מישהו יגנוב את הטבלה של הסיסמאות יהיה לו קשה להוציא ממנה יותר מיידי..
הנושא ספציפית יותר קשור לאבטחת מידע ולא ל- ASP.net... כי זה רלוונטי לכל אפליקציה.
מה שכן, אתרים אשר נותנים לך את האפשרות לשחזר לא באמת מחזירים לך את הסיסמא שלך מה- DB... הם יוצרים לך סיסמא חילופית חדשה.. עקב העובדה שהאשים מסוגים כאלה (כמו md5 לדוגמא) הם האשים מסוג של "one way" .. האלגוריתם שלהם נבנה בצורה כזאת שניתן ליצור את ההאש אבל לא לשחזר את המידע ממנו בשום מצב.
אני מניח שאת שואל את עצמך כרגע - "אז איך כן משתמשים בסיסמא שמאוחסנת ב- DB?"
מה שקורה בתאכלס זה שבעת הרישום הסיסמא שלך מומרת להאש ונשמרת.. ובעת LOGIN המערכת לוקחת את הסיסמא שהכנסת בטופס, הופכת אותה ל- HASH ומשווה אותה ל- HASH שקיים ב- DB... אבל המערכת בעצמה לא יכולה לדעת מה הסיסמא האמיתית מאחורי ה- HASH..
ורק לידיעה הכללי,
אתרים ומערכות שמאחסנים את הסיסמאות שלהם במה שנקרא "clear text" או "טקסט נקי" עושים טעות חמורה שיכולה להוביל אותם לבעייה קשה אם מישהו היה מצליח להוציא נתונים מבסיס הנתונים שלהם...
מקווה שהבהרתי את הנושא...
טל.
|