A fájlkezelés alapjai (titkosítás Caesar kóddal)

Hasonló dokumentumok
Windows alkalmazások készítése. A Windows rendszerben a felhasználó hozzászokott a menü, az eszköztár és a többalakos programok használatához.

Szöveges fájl kezelése (a Caesar-kód feltörése) A kód feltörésének statisztikai háttere

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click Dim tipp As Integer

BME MOGI Gépészeti informatika 13.

A fizetendő összegből a 35 év fölötti tulajdonos 20 % kedvezményt kap.

Adabáziselérés ODBC-n keresztül utasításokkal C#-ban

munkafüzet open eseményéhez

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Makrók használata az Excelben - Makróhibák kezelése, biztonságos jelszavak generálása

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

A gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

Pénzintézetek jelentése a pénzforgalmi jelzőszám változásáról

A C# programozási nyelv alapjai

Microsec Zrt. által kibocsátott elektronikus aláírás telepítése Windows 7 (x86/x64) Internet Explorer 9 (32 bites) böngészőbe

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Netlock Kft. által kibocsátott elektronikus aláírás telepítése Windows XP SP3 Internet Explorer 8 böngészőbe

Sorosítás (szerializáció) és helyreállítás. 1. Bináris sorosítás és helyreállítás Szükséges névterek Attribútumok. 1.3.

7. Laboratóriumi gyakorlat: Vezérlési szerkezetek II.

1. feladat Készítse el szövegszerkesztővel, majd mentse osztály.txt néven a következő tartalmú szöveges fájlt:

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

A szerzõrõl... xi Bevezetés... xiii

Access adatbázis elérése OLE DB-n keresztül

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Programozás I. Szöveges fájlok kezelése Felsorolástípus Objektumtömb Gyakorló feladatok

Az alapértelmezett felhasználói név az "abc", a jelszó pedig "123". Ez célszerű megváltoztatni a felhasználónevet és a jelszót az első használat.

Egyszerű példaprogramok gyakorláshoz

VBA makrók aláírása Office 2007 esetén

FELHASZNÁLÓI ÚTMUTATÓ

Nemzeti LEADER Kézikönyv LEADER HELYI FEJLESZTÉSI STRATÉGIA FELHASZNÁLÓI KÉZIKÖNYV szeptember

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

I. 288.: Utcai WiFi térkép

Programozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás

Tanúsítvány igénylése sportegyesületek számára

LEADER. Helyi Fejlesztési Stratégiák. tervezését támogató alkalmazás

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Importálás. más típusú (pl:.imp,.xml,.xkr,.xcz) állomány beimportálása a nyomtatványkitöltő programba

VISUAL BASIC ALAPISMERETEK

Az importálás folyamata Felhasználói dokumentáció verzió 2.1.

Algoritmusok Tervezése. 5. Előadás Visual Basic 2. Dr. Bécsi Tamás

Operációs Rendszerek II. labor. 2. alkalom

BME MOGI Gépészeti informatika 7.

Felhasználói segédlet a Web of Knowledge / Web of Science adatbázis használatához

Molnár Mátyás. Bevezetés a PowerPoint 2010 használatába. Csak a lényeg érthetően!

DataScope program SE/SP-300 távadókhoz HASZNÁLATI UTASÍTÁS

NAV nyomtatványok kitöltésének támogatása

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

3. modul - Szövegszerkesztés

Országos Területrendezési Terv térképi mellékleteinek WMS szolgáltatással történő elérése, MapInfo program alkalmazásával

BASH script programozás II. Vezérlési szerkezetek

Szkriptnyelvek. 1. UNIX shell

Maximum kiválasztás tömbben

Java-s Nyomtatványkitöltő Program Súgó

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, MapInfo program alkalmazásával Útmutató 2010.

AWK programozás, minták, vezérlési szerkezetek

Kifizetések kezelése. 1 Kifizetési dátumok megadása pénzügyi kódokhoz

Felhasználói kézikönyv. Tőkepiaci Közzététel. Magyar Nemzeti Bank

ELTE, Informatikai Kar december 12.

BME MOGI Gépészeti informatika 18. Grafika, fájlkezelés gyakorló óra. 1. feladat Készítsen alkalmazást az = +

Választó lekérdezés létrehozása

w w w. h a n s a g i i s k. h u

1. Jelölje meg az összes igaz állítást a következők közül!

Kérem, ismerkedjen meg a DigitAudit program AuditTeszt moduljának Adatok tesztelése menüpontjával.

Műveletek makrókkal. Makró futtatása párbeszédpanelről. A Színezés makró futtatása a Makró párbeszédpanelről

kommunikáció Megoldások

Dokumentum létrehozása/módosítása a portálon:

BME MOGI Gépészeti informatika 6.

Segítség a megoldáshoz: 1. Készítse el a Window-t az ábrának és az osztálydiagramnak megfelelően.

ContractTray program Leírás

Kézikönyv. Szelekciós operátorok használata

Telephelyes használat

ServiceTray program Leírás

VarioFace dokumenta cio

BME MOGI Gépészeti informatika 4.

A Java nyelv. Dialógus ablakok. Elek Tibor

Programozás alapjai. 5. előadás

Thermo1 Graph. Felhasználói segédlet

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

7. Előadás. Makrók alkalmazása. Salamon Júlia. Előadás I. éves mérnök hallgatók számára

Meglévő munkafüzet megnyitása, mentése új néven

A Web Services protokoll használata hálózati szkennelésre (Windows Vista SP2 vagy újabb verzió, valamint Windows 7 és Windows 8 esetén)

Programozás alapjai 9.Gy: Struktúra 2.

Munka a fájlokkal. Az általánosan használt fájltípusok. Programfájlok. Adatfájlok

DebitTray program Leírás

Hozzunk létre két rekordot a táblában, majd véglegesítsünk (commit):

Bevezetés a programozásba I.

AWK programozás Bevezetés

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

9. óra operációs rendszerek. Grafikus operációs rendszer

O365 és felhő szolgáltatások igénybevételéhez szükséges beállítások

GenerikusOsztály<objektumtípus> objektum = new GenerikusOsztály<objektumtípus>();

Nagyméretű banner megjelenések a Lovasok.hu oldalon

Java Programozás 5. Gy: Java alapok. Adatkezelő 1.rész

A Perkapun keresztül a gazdálkodó szervezetek és a jogi képviselővel eljáró felek nyújthatják be beadványaikat. A szolgáltatást kizárólag

Programozási nyelvek Java

Objektum elvu alkalmaza sok fejleszte se

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

Átírás:

A fájlkezelés alapjai (titkosítás Caesar kóddal) A titkosírások egy része ahogy a Caesar kód is betűkeverésen alapul, azaz bizonyos betűcsoportok helyett más betűket, betűcsoportokat vagy jeleket használnak. Az így készült titkos szöveg feltörését az írásjelek és a szóközök használata jelentősen megkönnyíti. Részben ezért, részben kényelmi okokból a továbbiakban feltételezzük, hogy a nyílt szöveg csupán az angol abc nagybetűit tartalmazza. Ezek a karakterek a kódtáblában a 65-90 kódot kapták. Visual Basicben egy Character típusú változó kódját az AscW() függvény adja meg. Így ha a ch változó értéke egy angol nagybetű, akkor a sorszámát (0 -tól kezdve!) az AscW(ch)-65 kifejezés adja. Program első változata Programunk első változatában a nyílt szöveget egy szövegmező (txtnyílt), az eltolás mértékét pedig egy numerikus léptető segítségével (nupeltolás) adhatjuk meg. A titkos szöveg az OK (cbok) gombra kattintás után egy szövegmezőben (txttitkos) áll elő. A programkódot tehát az cbok_click eseményhez rendeljük. A megengedett abc 26 karaktert tartalmaz, ezeket körkörösen úgy képzeljük el, mintha a Z után az A betű következni. Az abc terjedelmét az abc nevű konstansba vesszük fel, míg a vezérlők által beolvasott adatokat az eltolás, illetve a nyílt nevű változóba. Private Sub cbok_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles cbok.click Const abece As Integer = 26 Dim Eltolas As Integer = Val(nupEltolas.Value) Dim nyilt As String = txtnyilt.text Programunk gerincét a nyílt szöveg karaktereinek egyenkénti kiolvasása és elcsúsztatása adja, ehhez természetesen végig kell mennünk a nyílt szövegen. Az éppen vizsgált karakter kódja legyen pl. betű, a ciklusváltozó i, a titkosított szöveg karaktereit pedig a titkos sztringbe fogjuk összegyűjteni: Dim betu, i As Integer Dim titkos As String = "" OK Button nupeltolás NumericUpDown Maximum = 25 Minimum = -25 Value = 3 txtnyílt TextBox MultiLine = True txttitkos TextBox MultiLine = True

Maga az eljárás egyszerű: a nyílt szöveg karaktereit egyenként kiolvassuk, majd hozzáadjuk az eltolás értékét: For i = 0 To nyilt.length - 1 betu = AscW(nyilt.Chars(i)) betu = betu + Eltolas Ha a kapott kód túllép a maximális értéken ( Z -n), vagy kisebb lesz a minimális értéknél ( A ), akkor az abc konstans kivonásával vagy hozzáadásával biztosítjuk a körkörösséget. Végül a kapott karaktert hozzáadjuk a titkos szöveghez, és a ciklusból való kilépés után átmásoljuk a txttitkos szövegmezőbe: If betu > AscW("Z") Then betu = betu - abece If betu < AscW("A") Then betu = betu + abece titkos = titkos & ChrW(betu) Next txttitkos.text = titkos Célszerű programunkat úgy továbbfejleszteni, hogy az adatokat akár fájlból is beolvashassuk, és a titkosított szöveget akár fájlba is menthessük. Ehhez az űrlapra vegyünk fel két gombot a következő ábrán látható módon, és mind nevük, mind feliratuk legyen Beolvasás, illetve Mentés. A fájlkezelés alapvetően két részből áll. Első lépésben kiválasztjuk a fájlt a háttértáron, második lépésben pedig beolvassuk vagy kiírjuk az adott fájlba az adatokat.

Egy fájl kiválasztása az OpenFileDialog, SaveFileDialog segítségével Fejlesztő környezetünk sok kész párbeszédpanelt biztosít a programozónak a mindennapos feladatok elvégzéséhez. Ezek egyrészt lehetővé teszik, hogy a felhasználó az egyes funkciók elvégzését könnyebben elsajátíthassa, másfelől megkönnyítik a programozók feladatát is. Ilyen kész párbeszédpanel az OpenFileDialog, amely fájl megnyitásakor lehetővé teszi, hogy a felhasználó kiválasszon egy fájlt a fájlrendszerből. A tényleges megnyitást már a programozónak kell megoldania. Fájlok mentésekor hasonló elven működik a SaveFileDialog. Beolvasás Botton Mentés Button ofd OpenFileDialog Filter=Szöveges *.txt Minden fájl *.* FilterIndex=1 sfd SaveFileDialog DefaultExt=txt Keressük meg ezt a két vezérlőt az eszközkészlet Dialogs csoportjában, és két-két kattintással adjuk hozzá űrlapunkhoz! Mivel ezek a vezérlők is csak futás közben jelennek meg, így az alsó szürke sávra kerülnek. Állítsuk be a vezérlők tulajdonságait a fenti ábrának megfelelően! Az OpenFileDialog esetében a Filter tulajdonság a következőt jelenti. Fájl meg nyitásakor a felhasználó az ablak alsó részén a Fájltípus mellett kiválaszthatja a listázandó fájlok típusát: A Szöveges *.txt Minden fájl *.* beállítás esetén a listában két elem jelenik meg a Szöveges és a Minden fájl. Az első a txt kiterjesztésű fájlokat listázza, míg a második az összes fájlt megjeleníti. Ha a lista több elemű, akkor a FilterIndex adja meg, hogy hányadik törlődik be a dialógusdoboz indításakor (számozás 1-től indul).

OpenFileDialog és a SaveFileDialog főbb tulajdonságai Tulajdonság InitialDirectory Filter Filter DefaultExt Title Leírás A megjelenítendő mappa, ahogyan a böngészés indul. Szűrőfeltétel a listázandó fájlokra (több lehetőséggel). A szűrőlista alapértelmezett elemének megadása. Alapértelmezett kiterjesztés (mentéskor). A megjelenő dialógusdoboz címsora. Szöveges fájl beolvasása és mentése a My objektum segítségével A Visual Basicben a My objektum segítségével érhetjük el könnyen és egyszerűen számítógépünket. Segítségével például hozzáférhetünk a gépünkön lévő mappaszerkezethez is: egy szövegfájlt egyben beolvashatunk egy szövegdobozba, vagy kiírhatunk egy szövegdobozból. Példánkban a Beolvasás gomb kettős feladatot lát el. Egyrészt segítségével kiválaszthatjuk a beolvasandó szövegfájlt, másrészt ezt a fájlt ténylegesen be is olvassuk. A programkód a következő: Private Sub Beolvasas_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbbeolvasas.click If ofd.showdialog = Windows.Forms.DialogResult.OK Then txtnyilt.text = _ My.Computer.FileSystem.ReadAllText(ofd.FileName) End Sub Az elágazás első sorában a ofd.showdialog megjeleníti a fájl kiválasztására szolgáló OpenFileDialogot, és átadja neki a vezérlést. Ha a felhasználó az OK gombra kattint, végrehajtódik az elágazás törzse: a ReadAllText metódus betölti a kiválasztott fájl tartalmát a txtnyíl szövegmezőbe. Hasonló módon működik a Mentés gomb is: ha a felhasználó az OK gombra kattint, létrejön az általa megadott nemű fájl (sfd.filename), és beleíródik a txttitkos szövegmező tartalma. A WriteAllText metódus harmadik paramétere ( False) azt adja meg, hogy létező fájl esetén hozzáfűzze-e a szöveget. Private Sub cbmentes_click(byval sender As System.Object, ByVal e As System.EventArgs) Handles cbmentes.click If sfd.showdialog() = Windows.Forms.DialogResult.OK Then My.Computer.FileSystem.WriteAllText(sfd.FileName, txttitkos.text, False) End Sub

A következő táblázat a My objektum főbb funkcióit foglalja össze: Objektum My.Application My.Computer My.Forms My.User My.WebServices Leírás A futó alkalmazással és a környezetével kapcsolatos információk elérése. A helyi géppel kapcsolatos információk lekérdezése. Segítségével akár a fájlszerkezetet is elérjük. Az aktuális projekt űrlapjainak elérése. Az aktuális felhasználóval kapcsolatos információk elérése. A projektünkhöz hozzáadott webszolgáltatások elérése. Feladat: Augustus Julius Caesar betűket 3 hellyel tolta el. Ezzel szemben Augustus csak egy hellyel, de az utolsó betű helyett nem A-t, hanem AA-t írt. Írjunk programot, amely ezzel az eljárással titkosít, illetve az így titkosított szöveget visszafejti! (Pl. az ASZTAL szó kódja BTAAUBM)