Fungsi Pembangkit Kunci pada FormPembangkitKunci.cs

for i in rangelenL: temp += strL[i] ifi lenL-1: temp += , return temp def toDecself, P: temp = [] for i in rangelenP: temp.appendordP[i] return temp def toASCIIself, string: string = self.toLIstring temp = for e in string: temp += chre return temp hasil = isPrime100 printhasil

2. Bahasa C

2.1. Fungsi Pembangkit Kunci pada FormPembangkitKunci.cs

public void runPythonBangkitKunci{ ProcessStartInfo p = new ProcessStartInfo; p.FileName = c:\\Python33\\python.exe; p.RedirectStandardOutput = true; p.UseShellExecute = false; p.Arguments = c:\\skrip\\gate.py + bangkitKunci 0 0 x x; start the python program with two parameters try{ usingProcess exeProc = Process.Startp{ StreamReader s = exeProc.StandardOutput; String output = s.ReadToEnd; string []r = output.Splitnew char[]{ }; textBoxKunciP.Text = r[0].ToString; textBoxKunciQ.Text = r[1].ToString; textBoxKunciN.Text = r[2].ToString; Universitas Sumatera Utara } } catch{ MessageBox.ShowGagal melakukan pembangkit kunci., Kesalahan Proses Pembangkit Kunci, MessageBoxButtons.OK, MessageBoxIcon.Error; } } void ButtonGenerateClickobject sender, EventArgs e { ifstring.IsNullOrWhiteSpacetextBoxKunciP.Text string.IsNullOrWhiteSpacetextBoxKunciQ.Text{ ifMessageBox.ShowKunci yang anda tulis sebelumnya akan terhapus. Yakin untuk melanjutkan?, Peringatan: Pembangkitan Kunci, MessageBoxButtons.OKCancel, MessageBoxIcon.Warning == DialogResult.OK{ runPythonBangkitKunci; } } else{ runPythonBangkitKunci; } } 2.2.Fungsi Cek Kunci pada FormPembangkitKunci.cs void ButtonCekKunciClickobject sender, EventArgs e{ ifstring.IsNullOrWhiteSpacetextBoxKunciP.Text | string.IsNullOrWhiteSpacetextBoxKunciQ.Text{ MessageBox.ShowPasangan kunci tidak boleh ada yang kosong., Kesalahan Kunci, MessageBoxButtons.OK, MessageBoxIcon.Error; Universitas Sumatera Utara textBoxKunciN.Text = ; } else ifstring.IsNullOrWhiteSpacetextBoxKunciP.Text string.IsNullOrWhiteSpacetextBoxKunciQ.Text{ string hasil = runPythonCekKunci; ifString.Equalshasil, T{ int a = int.ParsetextBoxKunciP.Text; int b = int.ParsetextBoxKunciQ.Text; int c = ab; textBoxKunciN.Text = c.ToString; } else{ MessageBox.ShowKunci tidak memenuhi syarat., Kesalahan Kunci, MessageBoxButtons.OK, MessageBoxIcon.Error; textBoxKunciN.Text = ; } } } public string runPythonCekKunci{ string hasil; int kunci1 = int.ParsetextBoxKunciP.Text; int kunci2 = int.ParsetextBoxKunciQ.Text; ProcessStartInfo p = new ProcessStartInfo; p.FileName = c:\\Python33\\python.exe; p.RedirectStandardOutput = true; p.UseShellExecute = false; p.Arguments = c:\\skrip\\gate.py + cekKunci + kunci1 + + kunci2 + x x; try{ usingProcess exeProc = Process.Startp{ Universitas Sumatera Utara StreamReader s = exeProc.StandardOutput; String output = s.ReadToEnd; string []r = output.Splitnew char[]{ }; hasil = r[0][0].ToString; } } catch{ MessageBox.ShowGagal dalam melakukan cek kunci., Kesalahan Cek Kunci, MessageBoxButtons.OK, MessageBoxIcon.Error; hasil = ; } return hasil; } 2.3.Fungsi Enkrip Pesan void Button1EnkripsiClickobject sender, EventArgse { if string.IsNullOrWhiteSpacetextBox1plaintext.Text | stri ng.IsNullOrWhiteSpacetextBox1keyotp.Text{ MessageBox.ShowKunci OTP atau Pesan tidak boleh kosong., Kesalahan Dekripsi, MessageBoxButtons.OK, MessageBoxIcon.Error; }else{ textBox2chiphertext.Text=; ambilplainteks string plain=textBox1plaintext.Text; ambilpanjangplainteks int panjangplain=textBox1plaintext.Text.Length; ambilkunci string kunci=textBox1keyotp.Text; ambilpanjangkunci Universitas Sumatera Utara int pk=kunci.Length; string cipher=; cekpanjangkuncidgnplain kunciotp= ; ifpkpanjangplain{ contohkunci=abc plain:farid kunciotp=abc kunciotp +=kunci; string tempplain=Regex.Replaceplain, \s+, ; int pjgtempplain=tempplain.Length; forint i = 0; ipanjangplain-pjgtempplain;i++{ kunciotp=abcfa tempplain+= chartempplain[i]; } MessageBox.Showtempplain; proses menyamakan kunci == plain perulangan sesuai kurangnya kunci forint i = 0; ipanjangplain-pk;i++{ kunciotp=abcfa kunciotp+= chartempplain[i]; } }else{ kunciotp = kunci; } DateTime startTime = DateTime.Now; MessageBox.Showpanjang karakter : +panjangplain.ToString; algoritma otp forint i=0; ipanjangplain;i++{ cipher+=char plain[i] + kunciotp[i]; }

2.4. Program Enkripsi Kunci Pesan