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

תוכנית הצפנת קיסר בפייתון: 4 שלבים
תוכנית הצפנת קיסר בפייתון: 4 שלבים

וִידֵאוֹ: תוכנית הצפנת קיסר בפייתון: 4 שלבים

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

צופן הקיסר הוא צופן עתיק ונמצא בשימוש נרחב שקל להצפין ולפענחו. הוא פועל על ידי העברת האותיות של האלף בית ליצירת אלפבית חדש לגמרי (ABCDEF יכול לעבור מעל 4 אותיות ויהפוך ל- EFGHIJ).

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

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

מדריך זה יראה לך כיצד ליצור תוכנית המירה הודעות לצופן לפי פקודתך.

אספקה

כל מה שאתה צריך הוא מתורגמן של פייתון: IDLE, Pycharm ו- Thonny הן כמה אפשרויות טובות בחינם (השתמשתי ב- Pycharm)

ידע בסיסי בפייתון

שלב 1: הצהרת משתנים וקבלת תשומות

הצהרת משתנים וקבלת תשומות
הצהרת משתנים וקבלת תשומות

כדי בעצם לאחסן את ערכי המחרוזת (טקסט) של האלף בית, הודעה, shift וכו ', עלינו להשתמש במשתנים. נתחיל בהכרזת המשתנים 'אלפבית', 'חלקי אחד', 'חלקי שני' ו'חדשהאלפבית '. כתבתי את שמות המשתנים ב- Camel Case בקוד שלי (המילה הראשונה היא אותיות קטנות ושנייה) אבל אתה יכול לכתוב את זה איך שאתה רוצה, כל עוד אתה זוכר לשנות את זה לאורך שאר הקוד.. למשתנה האלפבית יש את הערך "abcdefghijklmnopqrstuvwxyz". כל המשתנים האחרים מוגדרים ל- "", שהיא מחרוזת ריקה מכיוון שעדיין אין לנו את הערכים שלהם.

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

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

קוד:

אלפבית = "abcdefghijklmnopqrstuvwxyz"

partialOne = ""

partialTwo = ""

newAlphabet = ""

message = input ("אנא הכנס את ההודעה שברצונך לתרגם:").lower ()

key = int (קלט ("אנא הזן את המספר שברצונך להזיז לפי:"))

שלב 2: יצירת האלפבית החדש

יצירת האלפבית החדש
יצירת האלפבית החדש

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

לדוגמה:

רצף - 123456789

חלק חלקי - 123; חלק שני - 456789

רצף חדש - 456789123

קוד:

אם מפתח == 0:

newAlphabet = אלפבית

מפתח elif> 0:

partialOne = alphabet [: key]

partTwo = alphabet [key:]

newAlphabet = partialTwo + partialOne

אַחֵר:

partialOne = אלפבית [:(26 + מקש)]

partTwo = אלפבית [(26 + מקש):]

newAlphabet = partialTwo + partialOne

שלב 3: העברת ההודעה

העברת המסר
העברת המסר

עכשיו יש לנו את האלף בית והאלף בית החדש. כל שנותר הוא להעביר את ההודעה לקוד.

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

קוד:

encrypted = "" עבור message_index בטווח (0, len (message)):

if message [message_index] == "":

מוצפן+= ""

עבור alphabet_index בטווח (0, len (newAlphabet)):

אם הודעה [message_index] == אלפבית [alphabet_index]:

מוצפן+= newAlphabet [alphabet_index]

הדפסה (מוצפנת)

שלב 4: נוסף

נוֹסָף
נוֹסָף
נוֹסָף
נוֹסָף

מצורף קובץ הקוד.

מוּמלָץ: