İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
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
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
Ş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
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
Kod dosyası ektedir.