İçindekiler:

Python'da Sezar Şifreleme Programı: 4 Adım
Python'da Sezar Şifreleme Programı: 4 Adım

Video: Python'da Sezar Şifreleme Programı: 4 Adım

Video: Python'da Sezar Şifreleme Programı: 4 Adım
Video: Python ile Sezar Şifreleme Algoritması 2024, Kasım
Anonim
Python'da Sezar Şifreleme Programı
Python'da Sezar Şifreleme Programı

Caesar Cipher, şifrelemesi ve şifresini çözmesi kolay, eski ve yaygın olarak kullanılan bir şifredir. Tamamen yeni bir alfabe oluşturmak için alfabenin harflerini kaydırarak çalışır (ABCDEF 4 harfin üzerine kayabilir ve EFGHIJ olur).

Caesar Ciphers, piyasadaki en güvenli şifreler değildir, ancak gizli notları geçmek veya şifreleri biraz daha güçlü hale getirmek gibi küçük görevler için iyidir. Kodu deşifre etmek gerçekten kolaydır, ancak özel alfabeyi ezberlemediyseniz, bir tanesini şifrelemek sıkıcı olabilir.

Bu süreci kolaylaştırmak için bilgisayarların gücünü, daha özel olarak Python programlama dilini kullanabiliriz.

Bu Eğitilebilir Tablo, komutunuzda mesajları bir şifreye dönüştüren bir programın nasıl oluşturulacağını gösterecektir.

Gereçler

Tek ihtiyacınız olan bir Python yorumlayıcısı: IDLE, Pycharm ve Thonny bazı iyi, ücretsiz seçeneklerdir (Pycharm kullandım)

Temel Python bilgisi

Adım 1: Değişkenleri Bildirme ve Girdiler Alma

Değişken Tanımlama ve Girdi Alma
Değişken Tanımlama ve Girdi Alma

Alfabenin, mesajın, vardiyanın vb. string (metin) değerlerini gerçekten saklamak için değişkenleri kullanmamız gerekir. 'alphabet', 'partialOne', 'partialTwo' ve 'newAlphabet' değişkenlerini bildirerek başlıyoruz. Kodumda Camel Case değişkenlerinin isimlerini yazdım (ilk kelime küçük harf ikinci büyük harf) ancak kodun geri kalanında da değiştirmeyi unutmadığınız sürece istediğiniz şekilde yazabilirsiniz.. Alfabe değişkeni "abcdefghijklmnopqrstuvwxyz" değerine sahiptir. Diğer tüm değişkenler, henüz değerlerine sahip olmadığımız için boş bir dize olan "" olarak ayarlanmıştır.

Bunun yaptığı, aslında değişimi yaratmak için kullandığımız Kısmi sistemi kurmaktır. Bu daha sonraki bir adımda açıklanacaktır.

Bundan sonra kullanıcıdan mesajı ve shift değerini almamız gerekiyor. Bunu yapmak için input fonksiyonunu kullanıyoruz. Kodun bu kısmı, kullanıcıdan alfabeyi kaydırmak için bir mesaj ve bir sayı ister.

KOD:

alfabe = "abcdefghijklmnopqrstuvwxyz"

kısmiBir = ""

kısmiİki=""

yeniAlfabe=""

mesaj = input("Lütfen çevirmek istediğiniz mesajı giriniz: ").low()

key = int(input("Lütfen kaydırmak istediğiniz sayıyı giriniz: "))

2. Adım: Yeni Alfabeyi Oluşturma

Yeni Alfabeyi Oluşturma
Yeni Alfabeyi Oluşturma

Şimdi kaydırılmış alfabeyi oluşturmak için. Bunu yapmak için kısmi sistemi kullanacağız. Kısmi sistem, bilgisayarın alfabeyi iki kısma böldüğü yerdir (parçaları söylemenin süslü bir yolu). İlk bölüm, programa geçmesini söylediğiniz kadar uzundur ve ikincisi, geri kalandır. Bilgisayar bölümleri değiştirir. Kodun yaptığı şey tam olarak budur, ilk ifadeyle birlikte, vardiya 0 ise, hiçbir şeyi değiştirmediğiniz için yeni alfabe ve eski alfabe aynıdır.

Örneğin:

Sıra - 123456789

Kısmi Bir - 123; Kısmi İki - 456789

Yeni Dizi - 456789123

KOD:

eğer anahtar == 0:

yeniAlfabe = alfabe

elif tuşu > 0:

kısmiBir = alfabe[:key]

kısmiİki = alfabe[anahtar:]

yeniAlfabe = kısmiİki + kısmiBir

Başka:

kısmiBir = alfabe[:(26 + tuş)]

kısmiİki = alfabe[(26 + tuş):]

yeniAlfabe = kısmiİki + kısmiBir

3. Adım: Mesajı Kaydırma

Mesajı Değiştirmek
Mesajı Değiştirmek

Artık alfabemiz ve yeni alfabemiz var. Geriye sadece mesajı koda dönüştürmek kalıyor.

İlk olarak, yeni bir değişken belirledik ve buna 'şifreli' adını verdik ve "" olarak ayarladık. Sonra mesajdaki her harfi kontrol eden ve onu yeni harfe geçiren gerçekten karmaşık bir for döngüsü yazarız. Sonucu verir ve işte karşınızda, başarıyla dönüştürülmüş bir kod!

KOD:

range(0, len(message)) içindeki message_index için şifreli="":

if mesajı[message_index] == " ":

şifreli+= ""

aralık (0, len(newAlphabet)) içindeki alpha_index için:

if mesajı[message_index] == alfabe[alphabet_index]:

şifreli+= yeniAlfabe[alphabet_index]

yazdır(şifreli)

4. Adım: Ek

Ek olarak
Ek olarak
Ek olarak
Ek olarak

Kod dosyası ektedir.

Önerilen: