HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Adataink védelme átírás ellen


Példaprogram letöltése

7568 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ók 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 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 Load eseményében fel is használunk.
Készítettünk egy függvényt, amely egy megadott sztringhez kiszámolja az ellenőrző összeget.
public int GetCheckSum(string s)
A függvényben lefutó algoritmus nagyon egyszerű.
int c = 0;
if (s.Length > 0)
  for (int i = 0; i < s.Length; i++)
    c += s[i];
return c;
Ha vesszük például a mellékelt példa label2.Text értékét, akkor a Form Load eseményébe beépíthetünk egy védelmet.
if (GetCheckSum(label2.Text) != 1576)
  Close();
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. Ez viszont nehéz.
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.

Könyv
Ez a cikk megtalálható ebben a könyvben: C# Software Offline 2003 évkönyv 543. 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 |