İçindekiler:
- Gereçler
- Adım 1: Değişkenleri Bildirme ve Girdiler Alma
- 2. Adım: Yeni Alfabeyi Oluşturma
- 3. Adım: Mesajı Kaydırma
- 4. Adım: Ek
Video: Python'da Sezar Şifreleme Programı: 4 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
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.
Önerilen:
Python Programı - Aylık Katkı/Depozito ile Bileşik Faiz: 5 Adım
Python Programı - Aylık Katkı/Depozitolu Bileşik Faiz: Ay sonunda aylık katkılı bileşik faiz hesaplama programı.TheCalculatorSite.com'dan alınan formül:Anapara için bileşik faiz: P(1+r/n)^(nt) Bir serinin gelecekteki değeri: PMT × (((1 + r/n)^nt - 1) / (r/n))
Python Güvenlik Şifreleme/Şifre Çözme Yazılımı: 3 Adım
Python Güvenlik Şifreleme/Şifre Çözme Yazılımı: Bu Eğitilebilir Kitapta size bazı basit Python ile endüstri standardı AES kullanarak dosyalarınızı nasıl güvende tutabileceğinizi göstereceğim. Gereksinimler: - Python 3.7- PyAesCrypt kitaplığı - hashlib kitaplığı Bu kitaplıklara sahip değilseniz, tarafından kolayca kurulabilir
Bir USB Sürücüyü Şifreleme: 7 Adım
Bir USB Sürücüyü Şifreleme: Ücretsiz şifreleme aracı TrueCrypt kullanarak bir USB sürücüsünü şifrelemek için gereken adımlarda size yol göstereceğim. Bu talimatta, örnek olarak bir Windows XP sistemi kullanacağım, ancak TrueCrypt Linux ve OS X üzerinde de çalışacak
Eski Bir Memory Stick'i Devlet Düzeyinde Şifreleme ile Veri Bankasına Dönüştürün: 4 Adım
Eski bir Memory Stick'i Devlet Dereceli Şifreleme ile Veri Bankasına Dönüştürün: Eski bir memory stick'iniz mi var? Korumanız gereken değerli dosyalarınız mı var? Dosyalarınızı basit bir şifreli RAR arşivinden daha iyi nasıl koruyacağınızı öğrenin; çünkü bu modern çağda, iyi bir bilgisayarı olan herkes bir günden kısa sürede şifresini çözebilir. 32MB Bellek kullanıyorum
Bir Toplu Dosya ile Şifrelemeli Bir Usb Sürücüyü Şifreleme: 8 Adım
Toplu Dosya ile Şifrelemeli Bir Usb Sürücüsünün Parolası: Kullanıcının parola olmadan sürücüye girmesine izin vermeyecek ve istediğiniz zaman değiştirebileceğiniz bir sahip dosyası gösterecek bir program bu, yaptığım programı nasıl kullanacağınızı kolaylıkla gösterecektir