כיצד ליצור מחולל מפתחות

תוכן עניינים:

כיצד ליצור מחולל מפתחות
כיצד ליצור מחולל מפתחות

וִידֵאוֹ: כיצד ליצור מחולל מפתחות

וִידֵאוֹ: כיצד ליצור מחולל מפתחות
וִידֵאוֹ: איך להכין מחזיק מפתחות? הכל בסרטון:) 2024, נוֹבֶמבֶּר
Anonim

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

כיצד ליצור מחולל מפתחות
כיצד ליצור מחולל מפתחות

הוראות

שלב 1

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

שלב 2

בקש את שם המשפחה, שמו הפרטי והפטרונימי של המשתמש. במקרה זה, על מנת להפוך את מקש הפלט לנוח יותר, רק שם המשפחה ישמש (הקוד שהוזן יקרא עד הרווח הראשון, השאר יעבור למאגר, שיהיה צורך לנקות אותו במידת הצורך). הנתונים ייכתבו למערך char A [30]. במקביל, הזן דלפק נוסף כדי שיזכור כמה תווים הוזנו.

printf ("הזן את שם המשפחה וראשי התיבות. [Vasiliev A. I.] n");

ואילו (A [i-1]! = '')

{scanf ("% c", & A ); i ++;}

שלב 3

המר את שם המשפחה. למרות העובדה שהמערך הוא בפורמט char, ניתן לבצע איתו כל פעולות מתמטיות לכל תו ב- C יש קוד מספרי משלו. לכן, צור לולאה מאפס למספר התווים המאוחסן i. בגוף הלולאה, כתוב את השינוי עבור האלמנט A [j] ואז הצג אותו.

עבור (int j = 0; j

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

שלב 4

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

מוּמלָץ: