Falkenbergs Gymnasium
Programmering A
Lärare:Vesat Ademi
ÖVNING: CEASAR – KRYPTO Ceasar – krypto är en av de allra äldsta krypteringsmetoderna som finns. Den går ut på att man förskjuter varje bokstav i sitt meddelande ett bestämt antal steg. Förskjuter man exempelvis strängen ”Basic” ett steg blir det ”Cbtjd ”. Skriv ett program där man matar in ett meddelande och antalet steg (nyckel) meddelandet ska förskjutas och som sedan skriver ut det krypterade meddelandet. Utöka Ceasar-krypteringen så att den även kan dechiffrera ett meddelande. Man ska kunna ange om man vill chiffrera eller dechiffrera. Använd programmet till att dechiffrera följande text som förskjutits +6 steg: ”hxgyorokt rgjk yom o lotgrsgzinkt suz lxgtqxoqk” . Programmets gränssnitt består av två formulär. Det första formuläret ser ut så här:
Om man klickar på knappen ”Chiffrera text” så visas det andra formuläret (se bilden nedan):
Här matar man in texten som ska chiffreras samt nyckeln. Klickar man på ”Chiffrera” knappen så visas den chiffrerade texten. Klickar man på ”Tillbaka” knappen så går man tillbaka till den första formuläret där man kan välja att fortsätta med chiffrering/dechiffrering eller att avsluta programmet. Om man klickar på knappen ”Dechifrera text” som finns på den första formuläret så får man samma formulär som ovan men knappen ”Chiffrera” döljs medan knappen ”Visa klar text” visas. Observera att även etiketternas innehåll förändras:
Sida 1
Falkenbergs Gymnasium
Programmering A
Lärare:Vesat Ademi
Koden tilldet andra formuläret ser ut så här : Dim Dim Dim Dim Dim Dim
kryptoText As String textLängd As Integer temp As String tal As Integer nyckel As Integer klarText As String
Private Sub cmdAvsluta_Click() End End Sub Private Sub cmdChiffrera_Click() klarText = txtOriginal.Text textLängd = Len(klarText) kryptoText = "" nyckel = Val(txtNyckel.Text) For i = 1 To textLängd temp = Mid(klarText, i, i + 1) tal = Asc(temp) tal = tal + nyckel kryptoText = kryptoText & Chr(tal) Next i txtOriginal.Text = kryptoText End Sub Private Sub cmdKlarText_Click() klarText = txtOriginal.Text textLängd = Len(klarText) kryptoText = "" nyckel = Val(txtNyckel.Text) nyckel = nyckel * (-1) For i = 1 To textLängd temp = Mid(klarText, i, i + 1) tal = Asc(temp) tal = tal + nyckel kryptoText = kryptoText & Chr(tal) Next i txtOriginal.Text = kryptoText End Sub Private Sub cmdTillbaka_Click() Form2.Show Form1.Hide End Sub
Sida 2
Falkenbergs Gymnasium
Programmering A
Lärare:Vesat Ademi
Koden till det första formuläret ser ut så här: Private Sub cmdChiffrera_Click() Form1.Show Form2.Hide Form1.cmdChiffrera.Visible = True Form1.cmdKlarText.Visible = False Form1.lbl1.Caption = "Mata in texten som ska chiffreras!" Form1.txtOriginal.Text = "" Form1.txtNyckel.Text = "" End Sub Private Sub cmdDechiffrera_Click() Form1.Show Form2.Hide Form1.cmdChiffrera.Visible = False Form1.cmdKlarText.Visible = True Form1.lbl1.Caption = "Mata in texten som ska dechiffreras!" Form1.txtOriginal.Text = "" Form1.txtNyckel.Text = "" End Sub Private Sub cmdAvsluta_Click() End End Sub
Sida 3