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:
kslukasz@o2.pl

9 komentarzy

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)

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

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

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

wrzuć kod programu miedzy znaczniki

 i 

wtedy będzie kolorowane

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...

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

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

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