Mündəricat:
2025 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2025-01-13 06:56
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ı
Ə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ı
İ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
İ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ə
Kod faylı əlavə olunur.