Upload
vesat-ademi
View
214
Download
1
Embed Size (px)
DESCRIPTION
Att skapa ett enkelt krypteringsprogram i Visual Basic
Citation preview
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 kryptoText As StringDim textLängd As IntegerDim temp As StringDim tal As IntegerDim nyckel As IntegerDim klarText As String
Private Sub cmdAvsluta_Click()EndEnd Sub
Private Sub cmdChiffrera_Click()klarText = txtOriginal.TexttextLä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 itxtOriginal.Text = kryptoTextEnd Sub
Private Sub cmdKlarText_Click()klarText = txtOriginal.TexttextLä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 itxtOriginal.Text = kryptoTextEnd Sub
Private Sub cmdTillbaka_Click()Form2.ShowForm1.HideEnd 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.ShowForm2.HideForm1.cmdChiffrera.Visible = TrueForm1.cmdKlarText.Visible = FalseForm1.lbl1.Caption = "Mata in texten som ska chiffreras!"Form1.txtOriginal.Text = ""Form1.txtNyckel.Text = ""End Sub
Private Sub cmdDechiffrera_Click()Form1.ShowForm2.HideForm1.cmdChiffrera.Visible = FalseForm1.cmdKlarText.Visible = TrueForm1.lbl1.Caption = "Mata in texten som ska dechiffreras!"Form1.txtOriginal.Text = ""Form1.txtNyckel.Text = ""End Sub
Private Sub cmdAvsluta_Click()EndEnd Sub
Sida 3