HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Adataink védelme átírás ellen


Példaprogram letöltése

3996 bájt

Ha egy alkalmazásban sztring típusú adatokkal dolgozunk, akkor a program lefordítása után az exe fájlban megtalálhatóak ezek a sztringek. Ezeket például egy HexaEditor programmal bárki átírhatja. Ez a probléma különösen akkor válik kínossá, ha mondjuk a névjegyablakunkon valaki átírja a nevünket. Ebben a példában bemutatunk egy védelmi lehetőséget, amely megnehezíti adataink átírását.

A mellékelt példaprogram megnyitása előtt a CheckSum.pas-ban lévő komponenst telepítenie kell a Delphi alá. Ehhez válassza a Component - Install Component menüpontot.
A problémát ellenőrzőösszegek használatával küszöböljük ki. Egy nagyon egyszerű algoritmus segítségével összeadjuk a sztring egyes karaktereinek ASCII kódjait. Így keletkezik egy ellenőrzőösszeg, amelyet a Form OnCreate eseményében fel is használunk.
A mellékelt komponens segít abban, hogy egy megadott szövegnek az ellenőrzőösszegét azonnal megtudhassuk, még szerkesztési időben.
A Text property-ben kell megadnunk az ellenőrizendő szöveget. Ahogy a Text property értékét beállítottuk, a CheckSum proeprty-ben azonnal láthatóvá is válik az érték.
A komponens SetText eljárásában számoljuk ki az összeget, egy egyszerű for ciklus segítségével.
c:=0;
for i:=1 to Length(FText) do
  c:=c+Ord(FText[i]);
FCheckSum:=c;
Ha vesszük például a mellékelt példa Label2.Caption értékét, akkor a Form OnCreate eseményébe beépíthetünk egy védelmet.
c:=0;
for i:=1 to Length(Label2.Caption) do
  c:=c+Ord(Label2.Caption[i]);
if c<>1576 then
  Application.Terminate;
Ha az ellenőrzőösszeg nem jó, akkor leállítjuk az alkalmazást. Ebben az esetben is át lehet írni a sztringet, de csak akkor, ha az új karakterek ugyanazt az ellenőrzőösszeget adják.
Még biztonságosabbá tehetjük a rendszert, ha egy szöveghez több értéket is hozzárendelünk. Például végezhetünk egy újabb ellenőrzést az 5..9 karakterekre, a szöveg belsejében.

Cikksorozat

#IDKategóriaCikk címeSorozat
3643DelphiFormEditor1. rész
3689DelphiProject és modul információk2. rész
3719DelphiMegnyitás, mentés3. rész
3749DelphiKódszerkesztő4. rész
3778DelphiForráskód írása, olvasása5. rész
3809DelphiInterfész a kódszerkesztő ablakhoz6. rész
3839DelphiKijelölt blokkok7. rész
3869DelphiA buffer beállításai8. rész
3899DelphiKörnyezeti és Project opciók9. rész
3929DelphiKurzor a kódszerkesztőben10. rész
3959DelphiKeresés és csere beállításai11. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Delphi Software Offline 2003 évkönyv 313. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |