בולנט - דברים מיוחדים...     פרוטו - בניית אתרים

Israeli ASP Organization

ארגון ה-ASP הישראלי

מאמרים/דוגמאות קוד
קישורים
ספרות
חיפוש כללי:

חפש!
כלליHTMLASPASP.NETSQLמסדי נתוניםJavaScriptXML * XSLDHTML * CSSעיצוב וגרפיקהשרתיםComponentsפרסום ושיווקקידום אתריםקופירייטינגPHP
פרסומת
דף ראשי מדורים דרושים הרשמה למועדון אודותינו צור קשר
מיקום: מאמרים ודוגמאות קוד > כללי

הצפנת נתונים בשיטת MD5

חישפתי וחיפשתי באתר, אך לא מצאתי מאמר המסביר כיצב להתשמש בשיטת MD5 להצפנת נתונים, ולכן החלטתי לכתוב את המאמר הזה.

טוב, אז בשביל מה בעצם צריך להצפין את הנתונים שלנו? בכמעט כל האתר הבנויים על טכנולוגית ASP, יש חלק כלשהו באתר המשלב שליפת נתונים מ-DB או הכנסת נתונים ל-DB.

זה יכול להיות מערכת בקרת כניסה וזה יכול להיות גם מערכת משוכללת לפתיחת תת - אתרים. בשורה התחתונה, כמעט בכולם מעורב קובץ DB.

במקרה ויש לנו סיסמאות ב-DB, אנחנו רוצים שאם מישהו יצליח להעתיק את הDB (ואנחנו ממש לא רוצים את זה) הוא לא יוכל להבין את הסיסמאות, ולכן לא יוכל להיכנס לחשבונות של משתמשים.

בשביל זה יש לנו שיטות הצפנה, וביניהן MD5.

 

MD5 זו בעצם שיטת הצפנה הנפוצה ביותר בעולם.

היא שיטה חד כיוונית.

חד כיוונית אומר שאי אפשר לפענח אותה, ולכן ע"מ לבדוק האם הסיסמא נכונה, עלינו להפוך את הטקסט שהמשתמש הקליד (נגיד, את שם המשתמש שלו בבקרת הכניסה) לטקסט מוצפן, ולאחר מכן להשוות עם ה-DB.

נשמע מסובך? ממש לא....

 

קודם כל, עליכם להוריד את הקובץ הבא מכאן. (אם הקישור לא פעיל, פשוט תריצו בגוגל "MD5")

 

דוגמא של קוד MD5:

 

 

<!--#INCLUDE FILE="md5.asp" --> <%password = md5(Request.Form("password"))%>

 

תמיד אבל תמיד יש להכליל את הקובץ md5.asp. בלעדי זה, הקוד לא יעבוד.

במקרה של הקוד הזה, הטקסט שיגיע מהטופס יהפוך לטקסט מוצפן.

לדוגמא: אם נשלח את הטקסט "123" הקוד יהפוך את הטקסט שכתבנו לטקסט הזה: fc68e519c624b03bd6cadfcb33204

 

במקרה ואנחנו רוצים להכניס משתנה במקום "Request.Form", עלינו להכניס אותו עם מרכאות כפולות.

דוגמא לקוד לא טוב של הצפנת משתנה:

 

<!--#INCLUDE FILE="md5.asp" --> <% yarin = "123" password = md5(yarin) %>

 

במקרה של הקוד השגוי הזה, המחשב יצפין לנו את הטקסט "Yarin" ולא את הערך שהמשתנה הזה מייצג (123).

 

ע"מ להצפין את הערך שהמשתנה מייצג ולא את הטקסט עצמו, עלינו לשים את הקוד הבא:

 

<!--#INCLUDE FILE="md5.asp" --> <% yarin = "123" password = md5("" & yarin & "") %>

 

חשוב לשים מרכאות כפולות, אחרת זה לא יעבוד.

 

הנה דוגמא של בדיקת זהות המשתמש.

(המערכת לוקחת את הטקסט שהמשתמש כתב בשדה ומצפינה אותו. לאחר מכן היא משווה אותו לטקסט ששמור לה בדטה).

 

 

<!--#INCLUDE FILE="md5.asp" --> <% pass = md5(Request.Form("password")) If Pass = Rs("UserPass") Then העברה ללוח הבקרה Else העברה לדף שגיאה End If %>

 

זה הכל!

 

רק חשוב מאוד שאם אתה מתכוונים להשתמש בהצפנה לסיסמאות, חשוב גם להצפין את הסיסמא כאשר המשתמש נרשם לאתר (מכיוון שהמערכת משווה עם הסיסמא המוצפנת שנמצאת ב-DB).

 

ירין גאון, מתכנת ASP מזה מספר שנים בן 15.

 

אשמח לקבל תגובות :-)



התגובות שלכם

         
01. 26/04/2006  שלום
איך ממירים חזרה את המחרוזת המסובכת שנוצרה לי , כדי לבנות ממשק לניהול הסיסמאות

02. 07/05/2006  ירין גאון
לא ממירים....

זוהי הצפנה חד כיוונית...

אם אתה רוצה לבנות ממשק לניהול סיסמאות, אתה צריך להשאיר את שדה הסיסמא ריק, ולהגדיר בדף קבלת הנתונים, שאם השדה ריק - הסיסמא נשארת אותו הדבר... אם השדה לא ריק - המערכת מצפינה את הסיסמא ושמה אותה בדטה...

         

מחבר: ירין גאוןרמת קושי: 2  ||  ציון: (9)כל הזכויות שמורות ל-IAO ©

חנות לסטלן  |   מתכונים  |   חגי ישראל  |   פורטל משחקים  |   חנויות מחשבים ו-ציוד הקפי  |   מגזין מסטול לסטלן המצוי  |   קליפרים  |   גידול צמחים פרחים  |   ספא פינוק מושלם