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

תוכנת הצפנה/פענוח אבטחה של פייתון: 3 שלבים
תוכנת הצפנה/פענוח אבטחה של פייתון: 3 שלבים

וִידֵאוֹ: תוכנת הצפנה/פענוח אבטחה של פייתון: 3 שלבים

וִידֵאוֹ: תוכנת הצפנה/פענוח אבטחה של פייתון: 3 שלבים
וִידֵאוֹ: קורס פייתון - 116 - הצפנה (encryption) 2024, נוֹבֶמבֶּר
Anonim
תוכנת הצפנה/פענוח אבטחה של פייתון
תוכנת הצפנה/פענוח אבטחה של פייתון
תוכנת הצפנה/פענוח אבטחה של פייתון
תוכנת הצפנה/פענוח אבטחה של פייתון

במדריך זה אראה לך כיצד בעזרת כמה פייתונים פשוטים תוכל לשמור על אבטחת הקבצים שלך באמצעות AES סטנדרטי בתעשייה.

דרישות:

- פייתון 3.7

- ספריית PyAesCrypt

- ספריית hashlib

אם אין לך ספריות אלה, תוכל להתקין בקלות על ידי הקלדת:

pip3 התקן hashlib

pip3 התקן את PyAesCrypt

במסוף (או CMD)

אתה אמור כבר לקבל את אלה:

- ספרייה אקראית

- ספריית מערכת ההפעלה

- ספריית מערכת

אני משתמש ב- OS X, אבל זה לא צריך להיות יותר מדי, למעט הכיוון של קווי החיתוך בנתיבי הקבצים (OS X: /, Windows:)

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

אם מותקנות אצלך כל התלות, נעבור לשלב 1.

שלב 1: כתיבת קובץ ההתקנה

כתיבת קובץ ההתקנה
כתיבת קובץ ההתקנה
כתיבת קובץ ההתקנה
כתיבת קובץ ההתקנה
כתיבת קובץ ההתקנה
כתיבת קובץ ההתקנה
כתיבת קובץ ההתקנה
כתיבת קובץ ההתקנה

אחד הגורמים שהופכים את זה לבטוח כל כך הוא השימוש ב- hashes לבדיקת הסיסמה. קובץ ההתקנה (אני קורא שלי setupsafe.py) הולך ל:

- צור תיקייה וקבצי דמה עבור הסיסמה

- הגדר את הסיסמה

- הגדר את מספר הקובץ

- סמן את הסיסמה

ראשית, אנו הולכים לייבא את התלות שלנו:

מיבוא sys *

ייבוא מערכת הפעלה

יבוא אקראי

לייבא hashlib

בשלב הבא ניצור תיקייה שתכיל את hash הסיסמה ואת קבצי הדמה:

נסה: אם לא os.path.exists ('שולחן עבודה/safesetup'):

os.mkdir ('desktop/safesetup/')

למעט OSError:

print ("שגיאה ביצירת תיקיה")

קוד זה ייצור תיקיה בשם safesetup (אלא אם כן היא קיימת כבר).

לאחר מכן, אנו הולכים להגדיר את הסיסמה וליצור מספר אקראי בין 1 ל -100 כדרכינו לנווט בקבצי הדמה:

סיסמה גלובלית סיסמה = argv [1].encode ('utf-8')

n = random.randint (1, 101)

עכשיו כשיש לנו את הסיסמה ואת מספר הקובץ שלנו, אנחנו הולכים ליצור 99 קבצי דמה בתוך הגדרת כספת, וקובץ אמיתי אחד שיכיל את הסיסמה שלנו:

עבור x בטווח (101): אם (x! = n):

f = open (("desktop/safesetup/"+str (x)), "w+")

f.close ()

אַחֵר:

סיסמא = hashlib.sha256 (סיסמה).hexdigest ()

f = open (("desktop/safesetup/"+str (x)), "w+")

f.write (סיסמה)

f.close ()

הדפס (n)

הקובץ האמיתי נקרא מספר שלם n. קובץ זה מכיל את הסיסמה שלנו, לאחר שנחפר באמצעות אלגוריתם sha256 (אלגוריתם חשיש זה נמצא בשימוש נרחב במטבעות קריפטוגרפיים, בעיקר Bitcoin).

זכור מהו n (הוא יודפס בקונסולה), מכיוון שהוא חשוב לא פחות מהסיסמה.

זה כל מה שאנחנו צריכים בשביל תוכנית ההתקנה שלנו, אז עכשיו נעבור לתוכנית ההצפנה/פענוח.

שלב 2: קובץ ההצפנה/פענוח

קובץ ההצפנה/פענוח
קובץ ההצפנה/פענוח
קובץ ההצפנה/פענוח
קובץ ההצפנה/פענוח
קובץ ההצפנה/פענוח
קובץ ההצפנה/פענוח

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

ראשית, התלות:

מ- sys יבוא *ייבוא מערכת הפעלה

ייבא pyAesCrypt

לייבא hashlib

לאחר מכן, חיטוב הסיסמה שהוזנה:

password = argv [1].encode ('utf-8') password = hashlib.sha256 (סיסמא).hexdigest ()

לבסוף, אחזור הסיסמה המשופץ:

file_key = str (argv [2]) hash = open (("desktop/safesetup/" + file_key), ("r +")). read ()

החלק השני של קובץ ההצפנה משווה את hashes, קובע את נכונות ההשוואה ומשתמש בספריית python AESCrypt כדי להצפין או לפענח את הקובץ שבחרת. זהו נתח קוד די גדול, אבל אני אפרק אותו:

if (password == hash): הדפס ("סיסמה מתקבלת")

bufferSize = 64 * 1024

operation = str (input ("אתה מאחזר או מצפין קבצים? (r או e)"))

אם (מבצע == 'r'):

file_name = str (קלט ("קובץ לאחזור:"))

pyAesCrypt.decryptFile ((שם קובץ + ".aes"), שם קובץ, סיסמה, bufferSize)

os.remove ((שם קובץ + ".aes"))

elif (מבצע == 'e'):

file_name = str (קלט ("קובץ להצפנה:"))

pyAesCrypt.encryptFile (שם קובץ, (שם קובץ + ". aes"), סיסמה, bufferSize)

os.remove (שם קובץ)

אַחֵר:

print ("שגיאה: קלט לא נכון")

אַחֵר:

הדפס ("גישה נדחתה")

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

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

שלב 3: הפעלת קבצים

כדי להריץ את קובץ ההתקנה, בצע את הפעולות הבאות:

1. הקלד את הטרמינל:

סיסמת python3/setupname.py (החלפת הספרייה, שם ההתקנה והסיסמה בערכים שלהם)

2. המסוף יפיק את מספר הקובץ שלך. שמור את זה.

כדי להפעיל את תוכנית ההצפנה/פענוח, בצע את הפעולות הבאות:

1. הקלד את הטרמינל:

ספריית python3/filename.py סיסמת קובץ קובץ (החלפת ספרייה, שם קובץ, סיסמה ומספר קובץ בערכים המתאימים להם)

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

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

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

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

מוּמלָץ: