Mündəricat:

Pythonda Sezar Şifreleme Proqramı: 4 addım
Pythonda Sezar Şifreleme Proqramı: 4 addım

Video: Pythonda Sezar Şifreleme Proqramı: 4 addım

Video: Pythonda Sezar Şifreleme Proqramı: 4 addım
Video: Python ile Sezar Şifreleme Algoritması 2024, Noyabr
Anonim
Pythonda Sezar Şifreleme Proqramı
Pythonda Sezar Şifreleme Proqramı

Sezar Şifrəsi, şifrələndirmək və deşifr etmək asan olan qədim və geniş istifadə olunan bir şifrədir. Tamamilə yeni bir əlifba yaratmaq üçün əlifbanın hərflərini dəyişdirərək işləyir (ABCDEF 4 hərfin üzərinə keçə bilər və EFGHIJ olardı).

Sezar Şifrələri oradakı ən etibarlı şifrələr deyil, gizli qeydləri ötürmək və ya parolları bir az da gücləndirmək kimi kiçik işlər üçün əladır. Kodu deşifr etmək çox asandır, ancaq xüsusi əlifbanı yadda saxlamısınızsa, onu şifrələmək yorucu ola bilər.

Bu prosesi asanlaşdırmaq üçün kompüterlərin gücündən, daha konkret olaraq Python proqramlaşdırma dilindən istifadə edə bilərik.

Bu Təlimat, əmrinizlə mesajları şifrəyə çevirən bir proqramın necə yaradılacağını göstərəcək.

Təchizat

Bir Python tərcüməçisinə ehtiyacınız var: IDLE, Pycharm və Thonny yaxşı, pulsuz seçimlərdir (Pycharm istifadə etdim)

Python haqqında əsas biliklər

Addım 1: Dəyişənlərin elan edilməsi və Girişlərin alınması

Dəyişənlərin elan edilməsi və Girişlərin alınması
Dəyişənlərin elan edilməsi və Girişlərin alınması

Əlifba, mesaj, keçid və s. Simli (mətn) dəyərlərini əslində saxlamaq üçün dəyişənlərdən istifadə etməliyik. Dəyişənləri 'əlifba', 'partialOne', 'partialTwo' və 'newAlphabet' elan etməklə başlayırıq. Kodumda Camel Case dəyişənlərinin adlarını yazdım (ilk söz kiçik və ikinci böyük hərfdir), amma kodun qalan hissəsində də dəyişdirməyi unutmayın, istədiyiniz kimi yaza bilərsiniz.. Əlifba dəyişəninin "abcdefghijklmnopqrstuvwxyz" dəyəri var. Digər dəyişənlərin hamısı "" olaraq təyin olunur, bu hələ dəyərlərinə sahib olmadığımız üçün boş bir sətirdir.

Bunun etdiyi şey, əslində dəyişikliyi yaratmaq üçün istifadə etdiyimiz Qismən sistem qurmaqdır. Bu sonrakı mərhələdə izah ediləcək.

Bundan sonra mesajı almalı və istifadəçidən dəyər dəyişdirməliyik. Bunu etmək üçün giriş funksiyasından istifadə edirik. Kodun bu hissəsi istifadəçidən əlifbanı dəyişdirmək üçün bir mesaj və nömrə tələb edir.

KOD:

əlifba = "abcdefghijklmnopqrstuvwxyz"

partialOne = ""

partialTwo = ""

newAlphabet = ""

message = input ("Zəhmət olmasa tərcümə etmək istədiyiniz mesajı daxil edin:").lower ()

key = int (giriş ("Zəhmət olmasa dəyişdirmək istədiyiniz nömrəni daxil edin:"))

Addım 2: Yeni Əlifbanın Yaradılması

Yeni Əlifbanın Yaradılması
Yeni Əlifbanın Yaradılması

İndi köçürülmüş əlifba yaratmaq üçün. Bunun üçün qismən sistemdən istifadə edəcəyik. Qismən sistem, kompüterin əlifbanı iki hissəyə böldüyü yerdir (hissələri söyləmək üçün zövqlü bir yol). Birinci hissə, proqramın keçməsini söylədiyiniz müddətdir, ikincisi isə qalan hissədir. Kompüter hissələri dəyişdirir. Kod dəyişikliyi 0 olarsa, heç bir şeyi dəyişdirmədiyiniz üçün yeni əlifba ilə köhnə əlifbanın eyni olduğunu söyləyən ilk bəyanatla birlikdə tam olaraq budur.

Misal üçün:

Ardıcıllıq - 123456789

Qismən - 123; İkinci hissə - 456789

Yeni Sıra - 456789123

KOD:

açar == 0 olarsa:

newAlphabet = əlifba

elif açarı> 0:

partialOne = əlifba [: açar]

partialTwo = əlifba [açar:]

newAlphabet = partialTwo + partialOne

başqa:

partialOne = əlifba [:(26 + düymə)]

partialTwo = əlifba [(26 + düymə):]

newAlphabet = partialTwo + partialOne

Addım 3: Mesajın dəyişdirilməsi

Mesajın dəyişdirilməsi
Mesajın dəyişdirilməsi

İndi bizim əlifbamız və yeni əlifbamız var. Yalnız mesajı koda çevirmək qalır.

Birincisi, yeni bir dəyişən təyin edirik və onu 'şifrələnmiş' adlandırırıq və "" olaraq təyin edirik. Sonra mesajdakı hər hərfi yoxlayan və yeni hərfə keçirən həqiqətən mürəkkəb bir döngə yazırıq. Nəticəni çıxarır və orada uğurla çevrilən bir kod var!

KOD:

encrypted = "", message_index aralığında (0, len (mesaj)):

əgər mesaj [message_index] == "" olarsa:

şifrələnmiş+= ""

alfabe_index aralığında (0, len (newAlphabet)):

əgər mesaj [message_index] == əlifba [alfabe_index]:

şifrələnmiş+= yeni Əlifba [əlifba_indeksi]

çap (şifrələnmiş)

Addım 4: Əlavə

Əlavə
Əlavə
Əlavə
Əlavə

Kod faylı əlavə olunur.

Tövsiyə: