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