Daftar Isi:

Program Caesar Cipher dengan Python: 4 Langkah
Program Caesar Cipher dengan Python: 4 Langkah

Video: Program Caesar Cipher dengan Python: 4 Langkah

Video: Program Caesar Cipher dengan Python: 4 Langkah
Video: TUDev's Cryptography with Python Workshop! Creating a Substitution Cipher (Caesar Cipher) 2024, November
Anonim
Program Caesar Cipher dengan Python
Program Caesar Cipher dengan Python

Caesar Cipher adalah sandi kuno dan banyak digunakan yang mudah dienkripsi dan didekripsi. Ia bekerja dengan menggeser huruf-huruf alfabet untuk membuat alfabet yang sama sekali baru (ABCDEF dapat menggeser lebih dari 4 huruf dan akan menjadi EFGHIJ).

Caesar Cipher bukanlah cipher yang paling aman di luar sana tetapi bagus untuk tugas-tugas kecil seperti mengirimkan catatan rahasia atau membuat kata sandi sedikit lebih kuat. Sangat mudah untuk menguraikan kode, tetapi dapat menjadi membosankan untuk mengenkripsi satu jika Anda tidak memiliki alfabet khusus yang dihafal.

Untuk mempermudah proses ini, kita bisa menggunakan kekuatan komputer, lebih khusus lagi bahasa pemrograman Python.

Instruksi ini akan menunjukkan kepada Anda cara membuat program yang mengubah pesan menjadi sandi sesuai perintah Anda.

Perlengkapan

Yang Anda butuhkan hanyalah juru bahasa Python: IDLE, Pycharm, dan Thonny adalah beberapa opsi gratis yang bagus (saya menggunakan Pycharm)

Pengetahuan dasar tentang Python

Langkah 1: Mendeklarasikan Variabel dan Mendapatkan Input

Mendeklarasikan Variabel dan Mendapatkan Input
Mendeklarasikan Variabel dan Mendapatkan Input

Untuk benar-benar menyimpan nilai string (teks) dari alfabet, pesan, shift, dll. Kita perlu menggunakan variabel. Kita mulai dengan mendeklarasikan variabel 'alphabet', 'partialOne', 'partialTwo', dan 'newAlphabet'. Saya telah menulis nama-nama variabel dalam Camel Case dalam kode saya (kata pertama adalah huruf kecil dan huruf besar kedua) tetapi Anda dapat menulisnya dengan cara apa pun yang Anda inginkan, selama Anda ingat untuk mengubahnya di seluruh kode lainnya juga. Variabel alfabet memiliki nilai "abcdefghijklmnopqrstuvwxyz". Semua variabel lain disetel ke "", yang merupakan string kosong karena kami belum memiliki nilainya.

Apa yang dilakukan adalah menyiapkan sistem Parsial, yang kami gunakan untuk benar-benar membuat perubahan. Ini akan dijelaskan pada langkah selanjutnya.

Setelah ini, kita harus mendapatkan pesan dan nilai pergeseran dari pengguna. Kami menggunakan fungsi input untuk melakukan ini. Bagian kode ini meminta pengguna untuk pesan dan nomor untuk menggeser alfabet.

KODE:

alfabet = "abcdefghijklmnopqrstuvwxyz"

parsialSatu=""

sebagianDua=""

baruAlfabet=""

pesan = input("Silakan masukkan pesan yang ingin Anda terjemahkan: ").lower()

key = int(input("Silakan masukkan angka yang ingin digeser: "))

Langkah 2: Membuat Alfabet Baru

Membuat Alfabet Baru
Membuat Alfabet Baru

Sekarang untuk membuat alfabet yang digeser. Untuk melakukan ini, kita akan menggunakan sistem parsial. Sistem parsial adalah di mana komputer membagi alfabet menjadi dua bagian (cara yang bagus untuk mengatakan bagian). Bagian pertama berapa lama Anda menyuruh program untuk bergeser, dan yang kedua adalah sisanya. Komputer mengganti sebagian. Itulah tepatnya yang dilakukan kode, bersama dengan pernyataan pertama, yang mengatakan bahwa jika pergeserannya adalah 0, alfabet baru dan alfabet lama adalah sama karena Anda tidak mengganti apa pun.

Sebagai contoh:

Urutan - 123456789

Sebagian Satu - 123; Sebagian Dua - 456789

Urutan Baru - 456789123

KODE:

jika kunci == 0:

newAlphabet = alfabet

kunci elif > 0:

parsialSatu = alfabet[:kunci]

parsialTwo = alfabet[kunci:]

newAlphabet = parsialDua + parsialSatu

lain:

partialOne = alfabet[:(26 + kunci)]

parsialTwo = alfabet[(26 + kunci):]

newAlphabet = parsialDua + parsialSatu

Langkah 3: Menggeser Pesan

Menggeser Pesan
Menggeser Pesan

Sekarang kita memiliki alfabet dan alfabet baru. Yang tersisa hanyalah mengubah pesan menjadi kode.

Pertama, kami menetapkan variabel baru dan menyebutnya 'terenkripsi' dan menyetelnya ke "". Kemudian kami menulis for-loop yang sangat rumit yang memeriksa setiap huruf dalam pesan dan mengalihkannya ke huruf baru. Ini menampilkan hasilnya dan begitulah, kode yang berhasil dikonversi!

KODE:

terenkripsi=""untuk indeks_pesan dalam rentang(0, len(pesan)):

jika pesan[message_index] == " ":

terenkripsi+= ""

untuk alphabet_index dalam range(0, len(newAlphabet)):

jika pesan[message_index] == alfabet[alphabet_index]:

terenkripsi+= newAlphabet[alphabet_index]

cetak (terenkripsi)

Langkah 4: Tambahan

Tambahan
Tambahan
Tambahan
Tambahan

Terlampir adalah file kode.

Direkomendasikan: