Kodowanie danych

kslukasz

Ten artykuł jest poświęcony kodowaniu danych na podstawie tablicy ASCII. Jest to na tyle dobra metoda kodowania, że pozwala na zakodowanie wszystkich klawiszy z klawiatury, nie deklarując każdego klawisza z osobna. Taki rodzaj szyfrowania informacji ma jeszcze jedną zaletę ? pozwana na stworzenie bardziej skomplikowanych algorytmów niż kodowanie ?znak po znaku?. Do stworzenia programu szyfrującego potrzebujemy poznać tylko dwie procedury i oczywiście pętle:

  • ord(x) ? zwraca numer klawisza w naturalnym kodzie ASCII, zmienna typu ?byte? ? numer klawisza przyjmujący wartość od 0-255, zajmujący 1B
  • chr(y) ? zwraca symbol z kodu ASCII, zmienna typu ?char? ? symbol zajmujący 1B

Nasz program będzie kodował dane z memo1 do memo2, a dekodował z memo2 do memo1:

Potrzebujemy pięć komponentów: memo1, memo2, button1, button2, edit1,

Kodowanie:

Klikamy dwukrotnie na button1 i piszemy:

var i,dlu,kod,zakres,k:integer;
      znak:char;
      tekst,wynik,w:string;

begin
tekst:=memo1.Text;
dlu:=length(tekst);
val(edit1.Text,zakres,k);
    for i:=1 to dlu do
       begin
         znak:=tekst[i]; //przypisanie zmiennej ?znak? i-ty element ze zmiennej ?tekst?,
         kod:=Ord(znak);
         kod:=kod+zakres;
         w:=Chr(kod);
         wynik:=wynik+w;
       end;
    memo2.text:=wynik;
 end;

Dekodowanie jest równie łatwe

Klikamy dwukrotnie na button2 i piszemy:

var i,dlu,kod,zakres,k:integer;
      znak:char;
      tekst,wynik,w:string;

begin
tekst:=memo2.Text;
dlu:=length(tekst);
val(edit1.Text,zakres,k);
    for i:=1 to dlu do
       begin
         znak:=tekst[i]; //przypisanie zmiennej ?znak? i-ty element ze zmiennej ?tekst?,
         kod:=Ord(znak);
         kod:=kod-zakres; //różni się od poprzedniego tylko kod-zakres
         w:=Chr(kod);
         wynik:=wynik+w;
       end;
    memo2.text:=wynik;
 end; 

Zachęcam do eksperymentowania.
Uwagi i pytania na adres:
[email protected]

9 komentarzy

Ciekawy program !!! musze to sprawdzić !!! Pozdrawiam Autora

Myślę że znajdziesz się na tym forum trochę bardziej skomplikowane metody kodowania. No ale jak na pierwszy program to fajny tutorial :|

\"potrzebujemy cztery komponenty : memo1, memo2, button1, button2, edit1\" - chyba nie umiem liczyc.. Jakby nie patrzec - mnie wychodzi 5 elementow :>

Sorki za błąd w artykule. Myśle że wszystko jest już poprawione. I nie jest to mój pierwszy program, tylko pierwszy artykuł na 4p...

wrzuć kod programu miedzy znaczniki

 i 

wtedy będzie kolorowane

proponuję przerzucić to do gotowców - na art to się raczej nie nadaje.

Nom artykul dobry, wazne jet to ze kodowanie jest PROSTE ;)

po prostu gotowiec do kodowania cezarem. LUDZIE, CZYTAJCIE WIKIPEDIE!!!

Tu mój algorytm (nawet prosty do zrozumienia):

Najlepiej dać znak lub bajt który zostanie zakodowany przez losową liczbę a gdy dekodujemy po odjęciu właściwego kodu ANSCII tego znaku, wyjdzie ten jeden wylosowany klucz którym odkoduje plik i go zapisze :>

Też można zastosować metodę plików typowanych ale ta jest mniej bezpieczna (jeśli nie zakoduje się klucza :D)